diff --git a/.github/workflows/build-FOME-console.yaml b/.github/workflows/build-FOME-console.yaml index a849199068..79e57971c5 100644 --- a/.github/workflows/build-FOME-console.yaml +++ b/.github/workflows/build-FOME-console.yaml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: true diff --git a/.github/workflows/build-firmware.yaml b/.github/workflows/build-firmware.yaml index dcd82e8369..158e74a7a0 100644 --- a/.github/workflows/build-firmware.yaml +++ b/.github/workflows/build-firmware.yaml @@ -15,7 +15,82 @@ on: type: string jobs: + build-libopenblt-linux: + runs-on: ubuntu-latest-selfhost + + steps: + - uses: actions/checkout@v4 + with: + submodules: true + + - name: cmake configure libopenblt + working-directory: ./firmware/ext/openblt/Host/Source/LibOpenBLT/build + run: cmake -DCMAKE_BUILD_TYPE=Release .. + + - name: make libopenblt + working-directory: ./firmware/ext/openblt/Host/Source/LibOpenBLT/build + run: make -j8 + + - name: cmake configure libopenblt_jni + working-directory: ./misc/libopenblt_jni/build + run: cmake -DCMAKE_BUILD_TYPE=Release .. + + - name: make libopenblt_jni + working-directory: ./misc/libopenblt_jni/build + run: make -j8 + + - name: coalesce + run: | + mkdir deliver + cp ./firmware/ext/openblt/Host/libopenblt.so deliver/ + cp ./misc/libopenblt_jni/build/libopenblt_jni.so deliver/ + + - uses: actions/upload-artifact@v3 + with: + name: libopenblt-linux + path: | + ./deliver/libopenblt.so + ./deliver/libopenblt_jni.so + + build-libopenblt-macos: + runs-on: macos-13 + + steps: + - uses: actions/checkout@v4 + with: + submodules: true + + - name: cmake configure libopenblt + working-directory: ./firmware/ext/openblt/Host/Source/LibOpenBLT/build + run: cmake -DCMAKE_BUILD_TYPE=Release .. + + - name: make libopenblt + working-directory: ./firmware/ext/openblt/Host/Source/LibOpenBLT/build + run: make -j8 + + - name: cmake configure libopenblt_jni + working-directory: ./misc/libopenblt_jni/build + run: cmake -DCMAKE_BUILD_TYPE=Release .. + + - name: make libopenblt_jni + working-directory: ./misc/libopenblt_jni/build + run: make -j8 + + - name: coalesce + run: | + mkdir deliver + cp ./firmware/ext/openblt/Host/libopenblt.dylib deliver/ + cp ./misc/libopenblt_jni/build/libopenblt_jni.dylib deliver/ + + - uses: actions/upload-artifact@v3 + with: + name: libopenblt-macos + path: | + ./deliver/libopenblt.dylib + ./deliver/libopenblt_jni.dylib + build-firmware: + needs: [build-libopenblt-linux, build-libopenblt-macos] runs-on: ubuntu-latest-selfhost strategy: @@ -32,22 +107,26 @@ jobs: # folder: config/boards/hellen/hellen81 # ini-file: fome_hellen81.ini - - build-target: alphax-2chan - folder: config/boards/hellen/alphax-2chan - ini-file: fome_alphax-2chan.ini + # - build-target: alphax-2chan + # folder: config/boards/hellen/alphax-2chan + # ini-file: fome_alphax-2chan.ini - - build-target: alphax-4chan - folder: config/boards/hellen/alphax-4chan - ini-file: fome_alphax-4chan.ini + # - build-target: alphax-4chan + # folder: config/boards/hellen/alphax-4chan + # ini-file: fome_alphax-4chan.ini - - build-target: alphax-8chan - folder: config/boards/hellen/alphax-8chan - ini-file: fome_alphax-8chan.ini + # - build-target: alphax-8chan + # folder: config/boards/hellen/alphax-8chan + # ini-file: fome_alphax-8chan.ini # - build-target: harley81 # folder: config/boards/hellen/harley81 # ini-file: fome_harley81.ini + - build-target: small-can-board + folder: config/boards/hellen/small-can-board + ini-file: rusefi_small-can-board.ini + # - build-target: hellen88bmw # folder: config/boards/hellen/hellen88bmw # ini-file: fome_hellen88bmw.ini @@ -84,9 +163,9 @@ jobs: # folder: config/boards/hellen/hellen-honda-k # ini-file: fome_hellen-honda-k.ini - - build-target: hellen154hyundai - folder: config/boards/hellen/hellen154hyundai - ini-file: fome_hellen154hyundai.ini + # - build-target: hellen154hyundai + # folder: config/boards/hellen/hellen154hyundai + # ini-file: fome_hellen154hyundai.ini # - build-target: frankenso_na6 # folder: config/boards/frankenso @@ -156,13 +235,13 @@ jobs: # folder: config/boards/f429-discovery # ini-file: fome_f429-discovery.ini - # - build-target: core8 - # folder: config/boards/core8 - # ini-file: fome_core8.ini + - build-target: core8 + folder: config/boards/core8 + ini-file: fome_core8.ini - # - build-target: 48way - # folder: config/boards/48way - # ini-file: fome_48way.ini + - build-target: core48 + folder: config/boards/core48 + ini-file: fome_core48.ini # - build-target: atlas # folder: config/boards/atlas @@ -190,7 +269,7 @@ jobs: echo "full=true" >> $GITHUB_ENV fi - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: true @@ -261,6 +340,18 @@ jobs: # 'OS="Windows_NT"' allows us to build Windows executable on unix run: OS="Windows_NT" bash misc/jenkins/build_simulator.sh + - name: Download LibOpenBLT Tool (Linux) + uses: actions/download-artifact@v3 + with: + name: libopenblt-linux + path: ./firmware/ext/openblt/Host/ + + - name: Download LibOpenBLT Tool (MacOS) + uses: actions/download-artifact@v3 + with: + name: libopenblt-macos + path: ./firmware/ext/openblt/Host/ + - name: Package Bundle if: ${{ env.full == 'true' }} run: bash misc/jenkins/compile_other_versions/prepare_bundle.sh ${{matrix.build-target}} "${{matrix.ini-file}}" ${{ toJSON(inputs.build_name) }} diff --git a/.github/workflows/build-simulator.yaml b/.github/workflows/build-simulator.yaml index 6cc1073b89..2c299bc6d8 100644 --- a/.github/workflows/build-simulator.yaml +++ b/.github/workflows/build-simulator.yaml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Checkout Submodules run: | diff --git a/.github/workflows/build-unit-tests.yaml b/.github/workflows/build-unit-tests.yaml index 5e679f4802..ca3ead0b40 100644 --- a/.github/workflows/build-unit-tests.yaml +++ b/.github/workflows/build-unit-tests.yaml @@ -11,7 +11,7 @@ jobs: os: [ubuntu-latest, macos-latest] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: true diff --git a/.github/workflows/gen-configs.yaml b/.github/workflows/gen-configs.yaml index 15146b7a59..d075e84594 100644 --- a/.github/workflows/gen-configs.yaml +++ b/.github/workflows/gen-configs.yaml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Checkout Submodules run: | diff --git a/.github/workflows/hardware-ci.yaml b/.github/workflows/hardware-ci.yaml index d93a601999..7bf8fa755f 100644 --- a/.github/workflows/hardware-ci.yaml +++ b/.github/workflows/hardware-ci.yaml @@ -33,7 +33,7 @@ jobs: runs-on: ${{matrix.runs-on}} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: true diff --git a/.github/workflows/set-date.yaml b/.github/workflows/set-date.yaml index 4b1f2a7cbe..17d32c5dca 100644 --- a/.github/workflows/set-date.yaml +++ b/.github/workflows/set-date.yaml @@ -18,7 +18,7 @@ jobs: if: ${{ github.repository == 'FOME-Tech/fome-fw' }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Check last date run: if [ "$(git log -1 --pretty=%B)" = "Update date" ]; then echo "skip=true" >> $GITHUB_ENV; fi diff --git a/.gitmodules b/.gitmodules index 5c212ddb87..f10a313bd6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -26,8 +26,8 @@ branch = rusefi_prod_2021_11_12 [submodule "firmware/ext/openblt"] path = firmware/ext/openblt - url = https://github.com/rusefi/openblt - branch = rusefi_prod + url = https://github.com/fome-tech/openblt + branch = master [submodule "misc/hex2dfu"] path = misc/hex2dfu url = https://github.com/rusefi/hex2dfu diff --git a/firmware/CHANGELOG.md b/firmware/CHANGELOG.md index ffe72ab7bc..7f786f8d93 100644 --- a/firmware/CHANGELOG.md +++ b/firmware/CHANGELOG.md @@ -38,12 +38,22 @@ Release template (copy/paste this for new release): - Configurable ignition timing limits, adding safety particularly for engines running wasted spark with a large cam #211 - Improved injection, ignition bench test UI and functionality: More gauges, fuel pump on/off buttons for injector testing, and configurable duration/count #219 - Preset for Mazdaspeed Miata (NB) IAT sensor + - Option to compensate Alpha-N fueling with intake air temperature + - Gasoline-scale AFR gauge: instead of showing true AFR, show "gasoline scale" where 14.7 means stoichiometric + - Decode fuel temperature from flex fuel sensors #254 + - Allow brief operation over 100% injector duty cycle and add configurable duty cycle limits #215 + - Buttons to bump VVT targets for testing/PID tuning + - Improved serial port selection for FOME console and firmware update ### Fixed - Improved bench test resolution (more usable for testing injectors, dwell, etc) - Maximum knock retard table displays correct Y axis values in TunerStudio - Make errors about fuel pressure sensors less aggressive #111 #117 - Always operate in "two wire" mode for batch fuel, fixing batch firing order #23 + - Fix "Toyota 3 Tooth Cam" VVT mode (1JZ, 2JZ, 1G, etc) actually works now #237 + - Fix autotune while TS project is in AFR mode - corrections now made properly for target AFR table values + - Changing idle stepper settings causes kernel panic #265 + - Data log channel "Fuel: Injection timing SOI" indicates correct values ## May 2023 Release diff --git a/firmware/Makefile b/firmware/Makefile index 131d37ea99..196a4b88e5 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -43,15 +43,6 @@ ifeq ($(DEBUG_LEVEL_OPT),) # DEBUG_LEVEL_OPT = -O0 -ggdb -g endif - -ifeq ($(CCACHE_DIR),) - $(info No CCACHE_DIR) -else - $(info CCACHE_DIR is ${CCACHE_DIR}) - CCPREFIX=ccache -endif - - # Compiler options here. # yes we have two kinds of EXTRA_*PARAMS so that we can define those in two different places independently # @@ -79,6 +70,8 @@ endif # Hellen is one of the boards which cares USE_CPPOPT += -Wno-error=tautological-compare +USE_CPPOPT += $(RUSEFI_CPPOPT) + # Enable this if you want the linker to remove unused code and data ifeq ($(USE_LINK_GC),) USE_LINK_GC = yes @@ -297,8 +290,8 @@ ifeq ($(CROSS_COMPILE),) else TRGT = $(CROSS_COMPILE) endif -CC = $(CCPREFIX) $(TRGT)gcc -CPPC = $(CCPREFIX) $(TRGT)g++ +CC = $(TRGT)gcc +CPPC = $(TRGT)g++ # Enable loading with g++ only if you need C++ runtime support. # NOTE: You can use C++ even without C++ support if you are careful. C++ # runtime support makes code size explode. diff --git a/firmware/bootloader/src/Makefile b/firmware/bootloader/Makefile similarity index 97% rename from firmware/bootloader/src/Makefile rename to firmware/bootloader/Makefile index 782b798f00..9b0693dd51 100644 --- a/firmware/bootloader/src/Makefile +++ b/firmware/bootloader/Makefile @@ -23,6 +23,9 @@ DDEFS += -DEFI_USE_UART_DMA=FALSE DDEFS += -DEFI_USB_SERIAL=TRUE -DHAL_USE_USB_MSD=FALSE +# Cache is disabled on F7, H7 +DDEFS += -DSTM32_SRAM2_NOCACHE=FALSE -DSTM32_NOCACHE_SRAM1_SRAM2=FALSE -DSTM32_NOCACHE_SRAM3=FALSE + DDEFS += -DEFI_UNIT_TEST=0 -DEFI_PROD_CODE=1 -DEFI_SIMULATOR=0 # Compiler options here. @@ -190,8 +193,8 @@ CPPSRC = $(ALLCPPSRC) \ $(PROJECT_DIR)/bootloader/openblt_chibios/openblt_chibios.cpp \ $(PROJECT_DIR)/bootloader/openblt_chibios/openblt_flash.cpp \ $(PROJECT_DIR)/bootloader/openblt_chibios/openblt_usb.cpp \ - src/rusefi_stubs.cpp \ - src/main.cpp + bootloader_stubs.cpp \ + bootloader_main.cpp # C sources to be compiled in ARM mode regardless of the global setting. # NOTE: Mixing ARM and THUMB mode enables the -mthumb-interwork compiler @@ -220,6 +223,7 @@ ASMXSRC = $(STARTUPASM) $(PORTASM) $(OSALASM) $(PROJECT_DIR)/hw_layer/main_hardf INCDIR = $(ALLINC) \ $(PCH_DIR) \ .. \ + $(BOARDINC) \ $(CHIBIOS)/os/various \ $(CHIBIOS)/os/ex/ST \ $(CHIBIOS)/os/hal/lib/peripherals/sensors \ @@ -235,6 +239,7 @@ INCDIR = $(ALLINC) \ $(PROJECT_DIR)/console/binary_log \ $(PROJECT_DIR)/console/fl_binary \ $(PROJECT_DIR)/hw_layer \ + $(PROJECT_DIR)/hw_layer/digital_input \ $(PROJECT_DIR)/hw_layer/adc \ $(PROJECT_DIR)/hw_layer/mass_storage \ $(PROJECT_DIR)/hw_layer/serial_over_usb \ @@ -279,8 +284,8 @@ ifeq ($(CROSS_COMPILE),) else TRGT = $(CROSS_COMPILE) endif -CC = $(CCPREFIX) $(TRGT)gcc -CPPC = $(CCPREFIX) $(TRGT)g++ +CC = $(TRGT)gcc +CPPC = $(TRGT)g++ # Enable loading with g++ only if you need C++ runtime support. # NOTE: You can use C++ even without C++ support if you are careful. C++ # runtime support makes code size explode. diff --git a/firmware/bootloader/bootloader_main.cpp b/firmware/bootloader/bootloader_main.cpp new file mode 100644 index 0000000000..762602e9ef --- /dev/null +++ b/firmware/bootloader/bootloader_main.cpp @@ -0,0 +1,74 @@ + +#include "pch.h" +#include "usbconsole.h" +#include "hardware.h" + +extern "C" { + #include "boot.h" + #include "shared_params.h" +} + +class BlinkyThread : public chibios_rt::BaseStaticThread<256> { +protected: + void main(void) override { + Gpio yellow = getWarningLedPin(); + Gpio blue = getCommsLedPin(); + Gpio green = getRunningLedPin(); + + efiSetPadMode("yellow", yellow, PAL_MODE_OUTPUT_PUSHPULL); + efiSetPadMode("blue", blue, PAL_MODE_OUTPUT_PUSHPULL); + efiSetPadMode("green", green, PAL_MODE_OUTPUT_PUSHPULL); + + auto yellowPort = getBrainPinPort(yellow); + auto yellowPin = getBrainPinIndex(yellow); + auto bluePort = getBrainPinPort(blue); + auto bluePin = getBrainPinIndex(blue); + auto greenPort = getBrainPinPort(green); + auto greenPin = getBrainPinIndex(green); + + palSetPad(yellowPort, yellowPin); + palSetPad(bluePort, bluePin); + palSetPad(greenPort, greenPin); + + while (true) { + palTogglePad(yellowPort, yellowPin); + palTogglePad(bluePort, bluePin); + palTogglePad(greenPort, greenPin); + chThdSleepMilliseconds(250); + } + } +}; + +static BlinkyThread blinky; + +int main(void) { + halInit(); + chSysInit(); + + baseMCUInit(); + + // start the blinky thread + blinky.start(NORMALPRIO + 10); + + // Init openblt shared params + SharedParamsInit(); + + // Init openblt itself + BootInit(); + + while (true) { + BootTask(); + } +} + +// very basic version, supports on chip pins only (really only used for USB, LEDs) +void efiSetPadMode(const char* msg, brain_pin_e brainPin, iomode_t mode) { + ioportid_t port = getHwPort(msg, brainPin); + ioportmask_t pin = getHwPin(msg, brainPin); + /* paranoid */ + if (port == GPIO_NULL) { + return; + } + + palSetPadMode(port, pin, mode); +} diff --git a/firmware/bootloader/src/rusefi_stubs.cpp b/firmware/bootloader/bootloader_stubs.cpp similarity index 73% rename from firmware/bootloader/src/rusefi_stubs.cpp rename to firmware/bootloader/bootloader_stubs.cpp index bc8310db59..a2dac83890 100644 --- a/firmware/bootloader/src/rusefi_stubs.cpp +++ b/firmware/bootloader/bootloader_stubs.cpp @@ -3,10 +3,10 @@ #include "hardware.h" /* - * We need only a small portion of code from rusEFI codebase in the bootloader. - * Mostly it's tunerstudio_io.cpp. And other files like efi_gpio.cpp etc. needed only to make it work. + * We need only a small portion of code from FOME codebase in the bootloader. + * Mostly it's efi_gpio.cpp, flash_main.cpp, etc. needed only to make it work. * And stubs needed just to settle down compiler errors. - * The whole idea of bootloader is to make it as small as possible. And reasonably independent. + * The whole idea of bootloader is to make it as small as possible and reasonably independent. */ void chDbgPanic3(const char* /*msg*/, const char* /*file*/, int /*line*/) { @@ -14,6 +14,9 @@ void chDbgPanic3(const char* /*msg*/, const char* /*file*/, int /*line*/) { void logHardFault(uint32_t type, uintptr_t faultAddress, struct port_extctx* ctx, uint32_t csfr) { } +void firmwareError(ObdCode code, const char *fmt, ...) { +} + // this is supposed to be taken from chconf_common.h but it does not work? I am not sure why :( // TODO: make this be defined by chconf_common.h? //#if ! ENABLE_PERF_TRACE diff --git a/firmware/bootloader/compile_bootloader.sh b/firmware/bootloader/compile_bootloader.sh index af8712d75f..c714ffb172 100755 --- a/firmware/bootloader/compile_bootloader.sh +++ b/firmware/bootloader/compile_bootloader.sh @@ -9,7 +9,7 @@ echo "Entering $SCRIPT_NAME" BOOTLOADER_CODE_DESTINATION_FILE=$BOOTLOADER_CODE_DESTINATION_PATH/bootloader_generated.hxx echo "$SCRIPT_NAME: Starting bootloader compilation..." -make -j6 -f src/Makefile $1 $2 $3 +make -j6 $1 $2 $3 # downstream scripts detect error condition by checking if the output file exists so we need to make sure we remove it [ $? -eq 0 ] || { echo "ERROR: bootloader compilation failed"; rm -f blbuild/$BOOTLOADER_CODE_DESTINATION_FILE ; exit 1; } diff --git a/firmware/bootloader/openblt_chibios/nvm.c b/firmware/bootloader/openblt_chibios/nvm.c index 4243170776..f61b6db0e3 100644 --- a/firmware/bootloader/openblt_chibios/nvm.c +++ b/firmware/bootloader/openblt_chibios/nvm.c @@ -44,24 +44,6 @@ #include "boot.h" /* bootloader generic header */ #include "flash.h" - -/**************************************************************************************** -* Hook functions -****************************************************************************************/ -#if (BOOT_NVM_HOOKS_ENABLE > 0) -extern void NvmInitHook(void); -extern void NvmReinitHook(void); -extern blt_int8u NvmWriteHook(blt_addr addr, blt_int32u len, blt_int8u *data); -extern blt_int8u NvmEraseHook(blt_addr addr, blt_int32u len); -extern blt_bool NvmDoneHook(void); -#endif - -#if (BOOT_NVM_CHECKSUM_HOOKS_ENABLE > 0) -extern blt_bool NvmWriteChecksumHook(void); -extern blt_bool NvmVerifyChecksumHook(void); -#endif - - /************************************************************************************//** ** \brief Initializes the NVM driver. ** \return none. @@ -69,13 +51,6 @@ extern blt_bool NvmVerifyChecksumHook(void); ****************************************************************************************/ void NvmInit(void) { -#if (BOOT_NVM_HOOKS_ENABLE > 0) - /* give the application a chance to initialize a driver for operating on NVM - * that is not by default supported by this driver. - */ - NvmInitHook(); -#endif - /* init the internal driver */ FlashInit(); } /*** end of NvmInit ***/ @@ -90,13 +65,6 @@ void NvmInit(void) ****************************************************************************************/ void NvmReinit(void) { -#if (BOOT_NVM_HOOKS_ENABLE > 0) - /* give the application a chance to re-initialize a driver for operating on NVM - * that is not by default supported by this driver. - */ - NvmReinitHook(); -#endif - /* reinitialize the internal driver */ FlashReinit(); } /*** end of NvmReinit ***/ @@ -112,33 +80,6 @@ void NvmReinit(void) ****************************************************************************************/ blt_bool NvmWrite(blt_addr addr, blt_int32u len, blt_int8u *data) { -#if (BOOT_NVM_HOOKS_ENABLE > 0) - blt_int8u result = BLT_NVM_NOT_IN_RANGE; -#endif - -#if (BOOT_NVM_HOOKS_ENABLE > 0) - /* give the application a chance to operate on memory that is not by default supported - * by this driver. - */ - result = NvmWriteHook(addr, len, data); - - /* process the return code */ - if (result == BLT_NVM_OKAY) - { - /* data was within range of the additionally supported memory and succesfully - * programmed, so we are all done. - */ - return BLT_TRUE; - } - else if (result == BLT_NVM_ERROR) - { - /* data was within range of the additionally supported memory and attempted to be - * programmed, but an error occurred, so we can't continue. - */ - return BLT_FALSE; - } -#endif - /* still here so the internal driver should try and perform the program operation */ return FlashWrite(addr, len, data); } /*** end of NvmWrite ***/ @@ -153,33 +94,6 @@ blt_bool NvmWrite(blt_addr addr, blt_int32u len, blt_int8u *data) ****************************************************************************************/ blt_bool NvmErase(blt_addr addr, blt_int32u len) { -#if (BOOT_NVM_HOOKS_ENABLE > 0) - blt_int8u result = BLT_NVM_NOT_IN_RANGE; -#endif - -#if (BOOT_NVM_HOOKS_ENABLE > 0) - /* give the application a chance to operate on memory that is not by default supported - * by this driver. - */ - result = NvmEraseHook(addr, len); - - /* process the return code */ - if (result == BLT_NVM_OKAY) - { - /* address was within range of the additionally supported memory and succesfully - * erased, so we are all done. - */ - return BLT_TRUE; - } - else if (result == BLT_NVM_ERROR) - { - /* address was within range of the additionally supported memory and attempted to be - * erased, but an error occurred, so we can't continue. - */ - return BLT_FALSE; - } -#endif - /* still here so the internal driver should try and perform the erase operation */ return FlashErase(addr, len); } /*** end of NvmErase ***/ @@ -193,13 +107,8 @@ blt_bool NvmErase(blt_addr addr, blt_int32u len) ****************************************************************************************/ blt_bool NvmVerifyChecksum(void) { -#if (BOOT_NVM_CHECKSUM_HOOKS_ENABLE > 0) - /* check checksum using the application specific method. */ - return NvmVerifyChecksumHook(); -#else /* check checksum using the interally supported method. */ return FlashVerifyChecksum(); -#endif } /*** end of NvmVerifyChecksum ***/ @@ -226,28 +135,11 @@ blt_addr NvmGetUserProgBaseAddress(void) ****************************************************************************************/ blt_bool NvmDone(void) { -#if (BOOT_NVM_HOOKS_ENABLE > 0) - /* give the application's NVM driver a chance to finish up */ - if (NvmDoneHook() == BLT_FALSE) - { - /* error so no need to continue */ - return BLT_FALSE; - } -#endif - -#if (BOOT_NVM_CHECKSUM_HOOKS_ENABLE > 0) - /* compute and write checksum, using the application specific method. */ - if (NvmWriteChecksumHook() == BLT_FALSE) - { - return BLT_FALSE; - } -#else /* compute and write checksum, which is programmed by the internal driver. */ if (FlashWriteChecksum() == BLT_FALSE) { return BLT_FALSE; } -#endif /* finish up internal driver operations */ return FlashDone(); diff --git a/firmware/bootloader/openblt_chibios/openblt_chibios.cpp b/firmware/bootloader/openblt_chibios/openblt_chibios.cpp index 9d1f624cbd..df74a808d1 100644 --- a/firmware/bootloader/openblt_chibios/openblt_chibios.cpp +++ b/firmware/bootloader/openblt_chibios/openblt_chibios.cpp @@ -14,6 +14,13 @@ void TimerReset() { } void CopService() { } void TimerUpdate() { } +extern "C" void __core_init() { + // This overrides the built-in __core_init() function + // We do this to avoid enabling the D/I caches, which + // we'll immediately have to turn back off when jumping + // to the main firmware (which will then enable them itself) +} + blt_int32u TimerGet() { return 0; } diff --git a/firmware/bootloader/openblt_chibios/openblt_flash.cpp b/firmware/bootloader/openblt_chibios/openblt_flash.cpp index 8b99f20238..432144f38a 100644 --- a/firmware/bootloader/openblt_chibios/openblt_flash.cpp +++ b/firmware/bootloader/openblt_chibios/openblt_flash.cpp @@ -1,38 +1,36 @@ #include "pch.h" #include "flash_int.h" +#include + extern "C" { #include "boot.h" #include "flash.h" } -void FlashInit() { } - -blt_bool FlashVerifyChecksum() { - // Naive check: if the first block is blank, there's no code there - return intFlashIsErased(FlashGetUserProgBaseAddress(), 4) ? BLT_FALSE : BLT_TRUE; +void FlashInit() { + // Flash already init by ChibiOS } blt_addr FlashGetUserProgBaseAddress() { #ifdef STM32H7XX - return 0x08020000; + return FLASH_BASE + 128 * 1024; #else // not STM32H7 - return 0x08008000; + return FLASH_BASE + 32 * 1024; #endif } blt_bool FlashWrite(blt_addr addr, blt_int32u len, blt_int8u *data) { return (FLASH_RETURN_SUCCESS == intFlashWrite(addr, (const char*)data, len)) ? BLT_TRUE : BLT_FALSE; - - return BLT_TRUE; } blt_bool FlashErase(blt_addr addr, blt_int32u len) { - if (!intFlashIsErased(addr, len)) { - return (FLASH_RETURN_SUCCESS == intFlashErase(addr, len)) ? BLT_TRUE : BLT_FALSE; + if (intFlashIsErased(addr, len)) { + // Already blank, we can skip the expensive erase operation + return BLT_TRUE; } - return BLT_TRUE; + return (FLASH_RETURN_SUCCESS == intFlashErase(addr, len)) ? BLT_TRUE : BLT_FALSE; } blt_bool FlashDone() { @@ -42,3 +40,31 @@ blt_bool FlashDone() { blt_bool FlashWriteChecksum() { return BLT_TRUE; } + +blt_bool FlashVerifyChecksum() { + // Naive check: if the first block is blank, there's no code there + if (intFlashIsErased(FlashGetUserProgBaseAddress(), 4)) { + return BLT_FALSE; + } + + static const size_t checksumOffset = 0x1C; + + // Now do the actual CRC check to ensure we didn't get stuck with a half-written firmware image + uint8_t* start = reinterpret_cast(FlashGetUserProgBaseAddress()); + + size_t imageSize = *reinterpret_cast(start + checksumOffset + 4); + + if (imageSize > 1024 * 1024) { + // impossibly large size, invalid + return BLT_FALSE; + } + + // part before checksum+size + uint32_t calcChecksum = crc32(start, checksumOffset); + // part after checksum+size + calcChecksum = crc32inc(start + checksumOffset + 4, calcChecksum, imageSize - (checksumOffset + 4)); + + uint32_t storedChecksum = *reinterpret_cast(start + checksumOffset); + + return calcChecksum == storedChecksum ? BLT_TRUE : BLT_FALSE; +} diff --git a/firmware/bootloader/src/main.cpp b/firmware/bootloader/src/main.cpp deleted file mode 100644 index ba6f304a3d..0000000000 --- a/firmware/bootloader/src/main.cpp +++ /dev/null @@ -1,38 +0,0 @@ - -#include "pch.h" -#include "usbconsole.h" -#include "hardware.h" - -extern "C" { - #include "boot.h" - #include "shared_params.h" -} - -int main(void) { - halInit(); - chSysInit(); - - baseMCUInit(); - - // Init openblt shared params - SharedParamsInit(); - - // Init openblt itself - BootInit(); - - while (true) { - BootTask(); - } -} - -// very basic version, supports on chip pins only (really only used for USB) -void efiSetPadMode(const char* msg, brain_pin_e brainPin, iomode_t mode) { - ioportid_t port = getHwPort(msg, brainPin); - ioportmask_t pin = getHwPin(msg, brainPin); - /* paranoid */ - if (port == GPIO_NULL) { - return; - } - - palSetPadMode(port, pin, mode); -} diff --git a/firmware/config/boards/48way/board_configuration.cpp b/firmware/config/boards/48way/board_configuration.cpp deleted file mode 100755 index 757b3f3d9a..0000000000 --- a/firmware/config/boards/48way/board_configuration.cpp +++ /dev/null @@ -1,83 +0,0 @@ -/** - * @file boards/48way/board_configuration.cpp - * - * @brief Configuration defaults for the 48way STM32 board - * - * @author Ben Brazdziunas, 2022 - */ - -#include "pch.h" - -static void setInjectorPins() { - engineConfiguration->injectionPins[0] = Gpio::E15; - engineConfiguration->injectionPins[1] = Gpio::E14; - engineConfiguration->injectionPins[2] = Gpio::E13; - engineConfiguration->injectionPins[3] = Gpio::E12; - engineConfiguration->injectionPins[4] = Gpio::E11; - engineConfiguration->injectionPins[5] = Gpio::E10; - engineConfiguration->injectionPins[6] = Gpio::E9; - engineConfiguration->injectionPins[7] = Gpio::E8; -} - -static void setIgnitionPins() { - engineConfiguration->ignitionPins[0] = Gpio::D12; - engineConfiguration->ignitionPins[1] = Gpio::D13; - engineConfiguration->ignitionPins[2] = Gpio::B15; - engineConfiguration->ignitionPins[3] = Gpio::B14; - engineConfiguration->ignitionPins[4] = Gpio::D8; - engineConfiguration->ignitionPins[5] = Gpio::D9; - engineConfiguration->ignitionPins[6] = Gpio::D11; - engineConfiguration->ignitionPins[7] = Gpio::D10; -} - -static void setEtbConfig() { - -} - -static void setupVbatt() { - // 5.6k high side/10k low side = 1.56 ratio divider - engineConfiguration->analogInputDividerCoefficient = 1.56f; - - // 6.34k high side/ 1k low side - engineConfiguration->vbattDividerCoeff = (6.34 + 1) / 1; - - // Battery sense on PA7 - engineConfiguration->vbattAdcChannel = EFI_ADC_0; - - engineConfiguration->adcVcc = 3.3f; -} - -static void setStepperConfig() { - engineConfiguration->idle.stepperDirectionPin = Gpio::C9; - engineConfiguration->idle.stepperStepPin = Gpio::C8; - engineConfiguration->stepperEnablePin = Gpio::A8; -} - -Gpio getRunningLedPin() { - return Gpio::C10; -} - -void setBoardConfigOverrides() { - setupVbatt(); - //setEtbConfig(); - setStepperConfig(); - - engineConfiguration->clt.config.bias_resistor = 2490; - engineConfiguration->iat.config.bias_resistor = 2490; - - //CAN 1 bus overwrites - engineConfiguration->canRxPin = Gpio::D0; - engineConfiguration->canTxPin = Gpio::D1; - - //CAN 2 bus overwrites - engineConfiguration->can2RxPin = Gpio::B12; - engineConfiguration->can2TxPin = Gpio::B13; -} - -void setBoardDefaultConfiguration(void) { - setInjectorPins(); - setIgnitionPins(); - engineConfiguration->isSdCardEnabled = false; - engineConfiguration->canBaudRate = B500KBPS; - engineConfiguration->can2BaudRate = B500KBPS; -} diff --git a/firmware/config/boards/48way/compile_48way.sh b/firmware/config/boards/48way/compile_48way.sh deleted file mode 100755 index 624e0b6300..0000000000 --- a/firmware/config/boards/48way/compile_48way.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -bash ../common_make.sh 48way ARCH_STM32F4 \ No newline at end of file diff --git a/firmware/config/boards/48way/connectors/generated_ts_name_by_pin.cpp b/firmware/config/boards/48way/connectors/generated_ts_name_by_pin.cpp deleted file mode 100755 index 7348143dd9..0000000000 --- a/firmware/config/boards/48way/connectors/generated_ts_name_by_pin.cpp +++ /dev/null @@ -1,40 +0,0 @@ -//DO NOT EDIT MANUALLY, let automation work hard. - -// auto-generated by PinoutLogic.java based on config/boards/48way/connectors/main.yaml -#include "pch.h" - -// see comments at declaration in pin_repository.h -const char * getBoardSpecificPinName(brain_pin_e brainPin) { - switch(brainPin) { - case Gpio::A1: return "TPS Reference Input (A1)"; - case Gpio::B14: return "Ignition 4 Output (B14)"; - case Gpio::B15: return "Ignition 3 Output (B15)"; - case Gpio::C13: return "CrankShaft Input (C13)"; - case Gpio::C6: return "Idle1 Output (C6)"; - case Gpio::C7: return "Boost Controller Output (C7)"; - case Gpio::D10: return "Ignition 8 Output (D10)"; - case Gpio::D11: return "Ignition 7 Output (D11)"; - case Gpio::D12: return "Ignition 1 Output (D12)"; - case Gpio::D13: return "Ignition 2 Output (D13)"; - case Gpio::D14: return "HC2 Output (D14)"; - case Gpio::D15: return "HC1 Output (D15)"; - case Gpio::D8: return "Ignition 5 Output (D8)"; - case Gpio::D9: return "Ignition 6 Output (D9)"; - case Gpio::E1: return "Clutch Input (E1)"; - case Gpio::E10: return "Injector 6 Output (E10)"; - case Gpio::E11: return "Injector 5 Output (E11)"; - case Gpio::E12: return "Injector 4 Output (E12)"; - case Gpio::E13: return "Injector 3 Output (E13)"; - case Gpio::E14: return "Injector 2 Output (E14)"; - case Gpio::E15: return "Injector 1 Output (E15)"; - case Gpio::E2: return "Fan Relay (E2)"; - case Gpio::E3: return "Fuel Relay (E3)"; - case Gpio::E4: return "Launch Control (E4)"; - case Gpio::E5: return "Tachometer (E5)"; - case Gpio::E6: return "Camshaft Input (E6)"; - case Gpio::E8: return "Injector 8 Output (E8)"; - case Gpio::E9: return "Injector 7 Output (E9)"; - default: return nullptr; - } - return nullptr; -} diff --git a/firmware/config/boards/48way/connectors/main.yaml b/firmware/config/boards/48way/connectors/main.yaml deleted file mode 100755 index 70b68b82a7..0000000000 --- a/firmware/config/boards/48way/connectors/main.yaml +++ /dev/null @@ -1,112 +0,0 @@ -pins: - - id: E2 - class: outputs - ts_name: Fan Relay (E2) - - id: E3 - class: outputs - ts_name: Fuel Relay (E3) - - id: E4 - class: switch_inputs - ts_name: Launch Control (E4) - - id: E5 - class: outputs - ts_name: Tachometer (E5) - - id: [E6, E6] - class: [switch_inputs, event_inputs] - ts_name: Camshaft Input (E6) - - id: [C13, C13] - class: [switch_inputs, event_inputs] - ts_name: CrankShaft Input (C13) - - id: EFI_ADC_0 - class: analog_inputs - ts_name: Battery Reference Input (A0) - - id: [A1, EFI_ADC_1] - class: [switch_inputs, analog_inputs] - ts_name: TPS Reference Input (A1) - - id: EFI_ADC_2 - class: analog_inputs - ts_name: CLT Reference Input (A2) - - id: EFI_ADC_3 - class: analog_inputs - ts_name: IAT Reference Input (A3) - - id: EFI_ADC_4 - class: analog_inputs - ts_name: O2 Reference Input (A4) - - id: EFI_ADC_14 - class: analog_inputs - ts_name: Fuel Pressure Reference Input (C4) - - id: EFI_ADC_15 - class: analog_inputs - ts_name: Oil Pressure Reference Input (C5) - - id: EFI_ADC_8 - class: analog_inputs - ts_name: MAP Pressure Reference Input (B0) - - id: EFI_ADC_9 - class: analog_inputs - ts_name: BARO Pressure Reference Input (B1) - - id: E8 - class: outputs - ts_name: Injector 8 Output (E8) - - id: E9 - class: outputs - ts_name: Injector 7 Output (E9) - - id: E10 - class: outputs - ts_name: Injector 6 Output (E10) - - id: E11 - class: outputs - ts_name: Injector 5 Output (E11) - - id: E12 - class: outputs - ts_name: Injector 4 Output (E12) - - id: E13 - class: outputs - ts_name: Injector 3 Output (E13) - - id: E14 - class: outputs - ts_name: Injector 2 Output (E14) - - id: E15 - class: outputs - ts_name: Injector 1 Output (E15) - - id: E1 - class: switch_inputs - ts_name: Clutch Input (E1) - - id: C7 - class: outputs - ts_name: Boost Controller Output (C7) - - id: C6 - class: outputs - ts_name: Idle1 Output (C6) - - id: D15 - class: outputs - ts_name: HC1 Output (D15) - - id: D14 - class: outputs - ts_name: HC2 Output (D14) - - id: D13 - class: outputs - ts_name: Ignition 2 Output (D13) - - id: D12 - class: outputs - ts_name: Ignition 1 Output (D12) - - id: D11 - class: outputs - ts_name: Ignition 7 Output (D11) - - id: D10 - class: outputs - ts_name: Ignition 8 Output (D10) - - id: D9 - class: outputs - ts_name: Ignition 6 Output (D9) - - id: D8 - class: outputs - ts_name: Ignition 5 Output (D8) - - id: B15 - class: outputs - ts_name: Ignition 3 Output (B15) - - id: B14 - class: outputs - ts_name: Ignition 4 Output (B14) - -info: - directory: 48way diff --git a/firmware/config/boards/48way/prepend.txt b/firmware/config/boards/48way/prepend.txt deleted file mode 100755 index 115f4e7219..0000000000 --- a/firmware/config/boards/48way/prepend.txt +++ /dev/null @@ -1,8 +0,0 @@ - -#define ts_show_software_knock true - -#define show_test_presets true -#define show_microRusEFI_presets false -#define show_Frankenso_presets false -#define show_Hellen_presets false -#define show_Proteus_presets false \ No newline at end of file diff --git a/firmware/config/boards/BB_V2/To_make_ini_file_auto.txt b/firmware/config/boards/BB_V2/To_make_ini_file_auto.txt deleted file mode 100644 index 8395e580ed..0000000000 --- a/firmware/config/boards/BB_V2/To_make_ini_file_auto.txt +++ /dev/null @@ -1,2 +0,0 @@ -w folderze /firmware -gen_config_board.sh BB_V2 BB_V2 \ No newline at end of file diff --git a/firmware/config/boards/BB_V2/board.h b/firmware/config/boards/BB_V2/board.h deleted file mode 100644 index 8bdf42ffc4..0000000000 --- a/firmware/config/boards/BB_V2/board.h +++ /dev/null @@ -1,491 +0,0 @@ -/** - * @file boards/subaru_eg33/board_io.c - * - * @date Feb 06, 2021 - * @author Andrey Gusakov, 2021 - */ - -#define BOARD_NAME "BB_V2" - -#ifndef BOARD_IO_H -#define BOARD_IO_H - -#define EFI_USB_AF 10U -#define EFI_USB_SERIAL_DM Gpio::A11 -#define EFI_USB_SERIAL_DP Gpio::A12 - -#define EFI_USE_OSC TRUE - -#define EFI_CAN_SUPPORT TRUE -#define CAN_USE_SLEEP_MODE FALSE - -#undef EFI_FILE_LOGGING -#define EFI_FILE_LOGGING TRUE - -#undef EFI_SDC_DEVICE -#define EFI_SDC_DEVICE SDCD1 - -#undef EFI_ICU_INPUTS -#define EFI_ICU_INPUTS FALSE - -#undef HAL_TRIGGER_USE_PAL -#define HAL_TRIGGER_USE_PAL TRUE - -#undef EFI_LOGIC_ANALYZER -#define EFI_LOGIC_ANALYZER FALSE - -#undef HAL_VSS_USE_PAL -#define HAL_VSS_USE_PAL TRUE - -#ifndef LED_CRITICAL_ERROR_BRAIN_PIN -#define LED_CRITICAL_ERROR_BRAIN_PIN Gpio::Unassigned -#endif - -// Ignore USB VBUS pin (we're never a host, only a device) -#define BOARD_OTG_NOVBUSSENS TRUE - -/* - * Board oscillators-related settings. - * NOTE: LSE not fitted. - */ -#if !defined(STM32_LSECLK) -#define STM32_LSECLK 32768U -#endif - -#define STM32_LSEDRV (3U << 3U) - -/* - * Board voltages. - * Required for performance limits calculation. - */ -#define STM32_VDD 300U - - -#define EFI_PIN_MODE_DEFAULT PIN_MODE_INPUT -#ifndef EFI_DR_DEFAULT -#define EFI_DR_DEFAULT PIN_PUPDR_PULLDOWN -#endif - -// See https://github.com/rusefi/rusefi/issues/397 -#define DEFAULT_GPIO_SPEED PIN_OSPEED_HIGH - - -/* - * I/O ports initial setup, this configuration is established soon after reset - * in the initialization code. - * Please refer to the STM32 Reference Manual for details. - */ -#define PIN_MODE_INPUT(n) (0U << ((n) * 2U)) -#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U)) -#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U)) -#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U)) -#define PIN_ODR_LOW(n) (0U << (n)) -#define PIN_ODR_HIGH(n) (1U << (n)) -#define PIN_OTYPE_PUSHPULL(n) (0U << (n)) -#define PIN_OTYPE_OPENDRAIN(n) (1U << (n)) -#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U)) -#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U)) -#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U)) -#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U)) -#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U)) -#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U)) -#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U)) -#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U)) - -#define VAL_GPIO_MODER_ALL_DEFAULT (EFI_PIN_MODE_DEFAULT(0) | \ - EFI_PIN_MODE_DEFAULT(1) | \ - EFI_PIN_MODE_DEFAULT(2) | \ - EFI_PIN_MODE_DEFAULT(3) | \ - EFI_PIN_MODE_DEFAULT(4) | \ - EFI_PIN_MODE_DEFAULT(5) | \ - EFI_PIN_MODE_DEFAULT(6) | \ - EFI_PIN_MODE_DEFAULT(7) | \ - EFI_PIN_MODE_DEFAULT(8) | \ - EFI_PIN_MODE_DEFAULT(9) | \ - EFI_PIN_MODE_DEFAULT(10) | \ - EFI_PIN_MODE_DEFAULT(11) | \ - EFI_PIN_MODE_DEFAULT(12) | \ - EFI_PIN_MODE_DEFAULT(13) | \ - EFI_PIN_MODE_DEFAULT(14) | \ - EFI_PIN_MODE_DEFAULT(15)) - -#define VAL_GPIO_OTYPER_ALL_DEFAULT (PIN_OTYPE_PUSHPULL(0) | \ - PIN_OTYPE_PUSHPULL(1) | \ - PIN_OTYPE_PUSHPULL(2) | \ - PIN_OTYPE_PUSHPULL(3) | \ - PIN_OTYPE_PUSHPULL(4) | \ - PIN_OTYPE_PUSHPULL(5) | \ - PIN_OTYPE_PUSHPULL(6) | \ - PIN_OTYPE_PUSHPULL(7) | \ - PIN_OTYPE_PUSHPULL(8) | \ - PIN_OTYPE_PUSHPULL(9) | \ - PIN_OTYPE_PUSHPULL(10) | \ - PIN_OTYPE_PUSHPULL(11) | \ - PIN_OTYPE_PUSHPULL(12) | \ - PIN_OTYPE_PUSHPULL(13) | \ - PIN_OTYPE_PUSHPULL(14) | \ - PIN_OTYPE_PUSHPULL(15)) - -#define VAL_GPIO_OSPEEDR_ALL_DEFAULT (DEFAULT_GPIO_SPEED(0) | \ - DEFAULT_GPIO_SPEED(1) | \ - DEFAULT_GPIO_SPEED(2) | \ - DEFAULT_GPIO_SPEED(3) | \ - DEFAULT_GPIO_SPEED(4) | \ - DEFAULT_GPIO_SPEED(5) | \ - DEFAULT_GPIO_SPEED(6) | \ - DEFAULT_GPIO_SPEED(7) | \ - DEFAULT_GPIO_SPEED(8) | \ - DEFAULT_GPIO_SPEED(9) | \ - DEFAULT_GPIO_SPEED(10) | \ - DEFAULT_GPIO_SPEED(11) | \ - DEFAULT_GPIO_SPEED(12) | \ - DEFAULT_GPIO_SPEED(13) | \ - DEFAULT_GPIO_SPEED(14) | \ - DEFAULT_GPIO_SPEED(15)) - -#define VAL_GPIO_ODR_ALL_DEFAULT 0 - -#define VAL_GPIO_PUPDR_ALL_DEFAULT (EFI_DR_DEFAULT(0) | \ - EFI_DR_DEFAULT(1) | \ - EFI_DR_DEFAULT(2) | \ - EFI_DR_DEFAULT(3) | \ - EFI_DR_DEFAULT(4) | \ - EFI_DR_DEFAULT(5) | \ - EFI_DR_DEFAULT(6) | \ - EFI_DR_DEFAULT(7) | \ - EFI_DR_DEFAULT(8) | \ - EFI_DR_DEFAULT(9) | \ - EFI_DR_DEFAULT(10) | \ - EFI_DR_DEFAULT(11) | \ - EFI_DR_DEFAULT(12) | \ - EFI_DR_DEFAULT(13) | \ - EFI_DR_DEFAULT(14) | \ - EFI_DR_DEFAULT(15)) - -#define VAL_GPIO_AF_ALL_DEFAULT (PIN_AFIO_AF(0, 0U) | \ - PIN_AFIO_AF(1, 0U) | \ - PIN_AFIO_AF(2, 0U) | \ - PIN_AFIO_AF(3, 0U) | \ - PIN_AFIO_AF(4, 0U) | \ - PIN_AFIO_AF(5, 0U) | \ - PIN_AFIO_AF(6, 0U) | \ - PIN_AFIO_AF(7, 0U)) - - -#define VAL_GPIOA_MODER (EFI_PIN_MODE_DEFAULT(0) | \ - EFI_PIN_MODE_DEFAULT(1) | \ - EFI_PIN_MODE_DEFAULT(2) | \ - EFI_PIN_MODE_DEFAULT(3) | \ - EFI_PIN_MODE_DEFAULT(4) | \ - EFI_PIN_MODE_DEFAULT(5) | \ - EFI_PIN_MODE_DEFAULT(6) | \ - EFI_PIN_MODE_DEFAULT(7) | \ - EFI_PIN_MODE_DEFAULT(8) | \ - EFI_PIN_MODE_DEFAULT(9) | \ - EFI_PIN_MODE_DEFAULT(10) | \ - EFI_PIN_MODE_DEFAULT(11) | \ - EFI_PIN_MODE_DEFAULT(12) | \ - PIN_MODE_ALTERNATE(13) | \ - PIN_MODE_ALTERNATE(14) | \ - EFI_PIN_MODE_DEFAULT(15)) -#define VAL_GPIOA_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOA_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOA_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOA_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOA_AFRL (PIN_AFIO_AF(0, 0U) | \ - PIN_AFIO_AF(1, 0U) | \ - PIN_AFIO_AF(2, 0U) | \ - PIN_AFIO_AF(3, 0U) | \ - PIN_AFIO_AF(4, 6U) | \ - PIN_AFIO_AF(5, 5U) | \ - PIN_AFIO_AF(6, 5U) | \ - PIN_AFIO_AF(7, 5U)) -#define VAL_GPIOA_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOB setup: - */ -#define VAL_GPIOB_MODER (EFI_PIN_MODE_DEFAULT(0) | \ - EFI_PIN_MODE_DEFAULT(1) | \ - EFI_PIN_MODE_DEFAULT(2) | \ - EFI_PIN_MODE_DEFAULT(3) | \ - EFI_PIN_MODE_DEFAULT(4) | \ - EFI_PIN_MODE_DEFAULT(5) | \ - EFI_PIN_MODE_DEFAULT(6) | \ - EFI_PIN_MODE_DEFAULT(7) | \ - EFI_PIN_MODE_DEFAULT(8) | \ - EFI_PIN_MODE_DEFAULT(9) | \ - EFI_PIN_MODE_DEFAULT(10) | \ - EFI_PIN_MODE_DEFAULT(11) | \ - EFI_PIN_MODE_DEFAULT(12) | \ - EFI_PIN_MODE_DEFAULT(13) | \ - EFI_PIN_MODE_DEFAULT(14) | \ - EFI_PIN_MODE_DEFAULT(15)) -#define VAL_GPIOB_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOB_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOB_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOB_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOB_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOB_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOC setup: - - * 8 BIT MODE - * PC8 - MMC D0 - * PC9 - MMC D1 - * PC10 - MMC D2 - * PC11 - MMC D3 - * PC12 - CLK - - * 1 BIT MODE - * PC8 - MMC D0 - * PC12 - CLK - - * NOW IS SETUP FOR 1 BIT SDIO -*/ -#define VAL_GPIOC_MODER (EFI_PIN_MODE_DEFAULT(0) | \ - EFI_PIN_MODE_DEFAULT(1) | \ - EFI_PIN_MODE_DEFAULT(2) | \ - EFI_PIN_MODE_DEFAULT(3) | \ - EFI_PIN_MODE_DEFAULT(4) | \ - EFI_PIN_MODE_DEFAULT(5) | \ - EFI_PIN_MODE_DEFAULT(6) | \ - EFI_PIN_MODE_DEFAULT(7) | \ - PIN_MODE_ALTERNATE(8) | \ - EFI_PIN_MODE_DEFAULT(9) | \ - EFI_PIN_MODE_DEFAULT(10) | \ - EFI_PIN_MODE_DEFAULT(11) | \ - PIN_MODE_ALTERNATE(12) | \ - EFI_PIN_MODE_DEFAULT(13) | \ - EFI_PIN_MODE_DEFAULT(14) | \ - EFI_PIN_MODE_DEFAULT(15)) -#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL( 0) | \ - PIN_OTYPE_PUSHPULL( 1) | \ - PIN_OTYPE_PUSHPULL( 2) | \ - PIN_OTYPE_PUSHPULL( 3) | \ - PIN_OTYPE_PUSHPULL( 4) | \ - PIN_OTYPE_PUSHPULL( 5) | \ - PIN_OTYPE_PUSHPULL( 6)| \ - PIN_OTYPE_PUSHPULL( 7)| \ - PIN_OTYPE_PUSHPULL( 8)| \ - PIN_OTYPE_PUSHPULL( 9) | \ - PIN_OTYPE_PUSHPULL(10) | \ - PIN_OTYPE_PUSHPULL(11) | \ - PIN_OTYPE_PUSHPULL(12) | \ - PIN_OTYPE_PUSHPULL(13) | \ - PIN_OTYPE_PUSHPULL(14)| \ - PIN_OTYPE_PUSHPULL(15)) -#define VAL_GPIOC_OSPEEDR (DEFAULT_GPIO_SPEED( 0) | \ - DEFAULT_GPIO_SPEED( 1) | \ - DEFAULT_GPIO_SPEED( 2) | \ - DEFAULT_GPIO_SPEED( 3) | \ - DEFAULT_GPIO_SPEED( 4) | \ - DEFAULT_GPIO_SPEED( 5) | \ - DEFAULT_GPIO_SPEED( 6) | \ - DEFAULT_GPIO_SPEED( 7) | \ - PIN_OSPEED_HIGH( 8) | \ - DEFAULT_GPIO_SPEED( 9) | \ - DEFAULT_GPIO_SPEED(10) | \ - DEFAULT_GPIO_SPEED(11) | \ - PIN_OSPEED_HIGH(12) | \ - DEFAULT_GPIO_SPEED(13) | \ - DEFAULT_GPIO_SPEED(14) | \ - DEFAULT_GPIO_SPEED(15)) -#define VAL_GPIOC_PUPDR (PIN_PUPDR_FLOATING( 0) | \ - PIN_PUPDR_PULLDOWN( 1) | \ - PIN_PUPDR_PULLDOWN( 2) | \ - PIN_PUPDR_PULLDOWN( 3) | \ - PIN_PUPDR_PULLDOWN( 4) | \ - PIN_PUPDR_PULLDOWN( 5) | \ - PIN_PUPDR_PULLDOWN( 6) | \ - PIN_PUPDR_PULLDOWN( 7) | \ - PIN_PUPDR_PULLDOWN( 8) | \ - PIN_PUPDR_PULLDOWN( 9) | \ - PIN_PUPDR_PULLDOWN(10) | \ - PIN_PUPDR_PULLDOWN(11) | \ - PIN_PUPDR_PULLDOWN(12) | \ - PIN_PUPDR_PULLDOWN(13) | \ - PIN_PUPDR_PULLDOWN(14) | \ - PIN_PUPDR_PULLDOWN(15)) -#define VAL_GPIOC_ODR (PIN_ODR_HIGH(0) | \ - PIN_ODR_LOW(2) | \ - PIN_ODR_HIGH(3) | \ - PIN_ODR_HIGH(6) | \ - PIN_ODR_HIGH(7) | \ - PIN_ODR_HIGH(8) | \ - PIN_ODR_HIGH(9) | \ - PIN_ODR_HIGH(10) | \ - PIN_ODR_HIGH(11) | \ - PIN_ODR_HIGH(12) | \ - PIN_ODR_HIGH(14)) -#define VAL_GPIOC_AFRL (PIN_AFIO_AF( 0, 0U) | \ - PIN_AFIO_AF( 1, 0U) | \ - PIN_AFIO_AF( 2, 0U) | \ - PIN_AFIO_AF( 3, 0U) | \ - PIN_AFIO_AF( 4, 0U) | \ - PIN_AFIO_AF( 5, 0U) | \ - PIN_AFIO_AF( 6, 0U) | \ - PIN_AFIO_AF( 7, 0U)) -#define VAL_GPIOC_AFRH (PIN_AFIO_AF( 8, 12U) | \ - PIN_AFIO_AF( 9, 0U) | \ - PIN_AFIO_AF(10, 0U) | \ - PIN_AFIO_AF(11, 0U) | \ - PIN_AFIO_AF(12, 12U) | \ - PIN_AFIO_AF(13, 0U) | \ - PIN_AFIO_AF(14, 0U) | \ - PIN_AFIO_AF(15, 0U)) - -/* - * GPIOD setup: - * PD2 - CMD - */ - -#define VAL_GPIOD_MODER (EFI_PIN_MODE_DEFAULT(0) | \ - EFI_PIN_MODE_DEFAULT(1) | \ - PIN_MODE_ALTERNATE(2) | \ - EFI_PIN_MODE_DEFAULT(3) | \ - EFI_PIN_MODE_DEFAULT(4) | \ - EFI_PIN_MODE_DEFAULT(5) | \ - EFI_PIN_MODE_DEFAULT(6) | \ - EFI_PIN_MODE_DEFAULT(7) | \ - EFI_PIN_MODE_DEFAULT(8) | \ - EFI_PIN_MODE_DEFAULT(9) | \ - EFI_PIN_MODE_DEFAULT(10) | \ - EFI_PIN_MODE_DEFAULT(11) | \ - EFI_PIN_MODE_DEFAULT(12) | \ - EFI_PIN_MODE_DEFAULT(13) | \ - EFI_PIN_MODE_DEFAULT(14) | \ - EFI_PIN_MODE_DEFAULT(15)) -#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL( 0) | \ - PIN_OTYPE_PUSHPULL( 1) | \ - PIN_OTYPE_PUSHPULL( 2) | \ - PIN_OTYPE_PUSHPULL( 3) | \ - PIN_OTYPE_PUSHPULL( 4) | \ - PIN_OTYPE_PUSHPULL( 5) | \ - PIN_OTYPE_PUSHPULL( 6)| \ - PIN_OTYPE_PUSHPULL( 7)| \ - PIN_OTYPE_PUSHPULL( 8)| \ - PIN_OTYPE_PUSHPULL( 9) | \ - PIN_OTYPE_PUSHPULL(10) | \ - PIN_OTYPE_PUSHPULL(11) | \ - PIN_OTYPE_PUSHPULL(12) | \ - PIN_OTYPE_PUSHPULL(13) | \ - PIN_OTYPE_PUSHPULL(14)| \ - PIN_OTYPE_PUSHPULL(15)) -#define VAL_GPIOD_OSPEEDR (DEFAULT_GPIO_SPEED( 0) | \ - DEFAULT_GPIO_SPEED( 1) | \ - PIN_OSPEED_HIGH( 2) | \ - DEFAULT_GPIO_SPEED( 3) | \ - DEFAULT_GPIO_SPEED( 4) | \ - DEFAULT_GPIO_SPEED( 5) | \ - DEFAULT_GPIO_SPEED( 6) | \ - DEFAULT_GPIO_SPEED( 7) | \ - PIN_OSPEED_HIGH( 8) | \ - PIN_OSPEED_HIGH( 9) | \ - PIN_OSPEED_HIGH(10) | \ - PIN_OSPEED_HIGH(11) | \ - PIN_OSPEED_HIGH(12) | \ - DEFAULT_GPIO_SPEED(13) | \ - DEFAULT_GPIO_SPEED(14) | \ - DEFAULT_GPIO_SPEED(15)) -#define VAL_GPIOD_PUPDR (PIN_PUPDR_FLOATING( 0) | \ - PIN_PUPDR_PULLDOWN( 1) | \ - PIN_PUPDR_PULLDOWN( 2) | \ - PIN_PUPDR_PULLDOWN( 3) | \ - PIN_PUPDR_PULLDOWN( 4) | \ - PIN_PUPDR_PULLDOWN( 5) | \ - PIN_PUPDR_PULLDOWN( 6) | \ - PIN_PUPDR_PULLDOWN( 7) | \ - PIN_PUPDR_PULLDOWN( 8) | \ - PIN_PUPDR_PULLDOWN( 9) | \ - PIN_PUPDR_PULLDOWN(10) | \ - PIN_PUPDR_PULLDOWN(11) | \ - PIN_PUPDR_PULLDOWN(12) | \ - PIN_PUPDR_PULLDOWN(13) | \ - PIN_PUPDR_PULLDOWN(14) | \ - PIN_PUPDR_PULLDOWN(15)) -#define VAL_GPIOD_ODR (PIN_ODR_HIGH(0) | \ - PIN_ODR_HIGH(2) | \ - PIN_ODR_HIGH(3) | \ - PIN_ODR_HIGH(6) | \ - PIN_ODR_HIGH(7) | \ - PIN_ODR_HIGH(8) | \ - PIN_ODR_HIGH(9) | \ - PIN_ODR_HIGH(10) | \ - PIN_ODR_HIGH(11) | \ - PIN_ODR_HIGH(12) | \ - PIN_ODR_HIGH(14)) -#define VAL_GPIOD_AFRL (PIN_AFIO_AF( 0, 0U) | \ - PIN_AFIO_AF( 1, 0U) | \ - PIN_AFIO_AF( 2, 12U) | \ - PIN_AFIO_AF( 3, 0U) | \ - PIN_AFIO_AF( 4, 0U) | \ - PIN_AFIO_AF( 5, 0U) | \ - PIN_AFIO_AF( 6, 0U) | \ - PIN_AFIO_AF( 7, 0U)) -#define VAL_GPIOD_AFRH (PIN_AFIO_AF( 8, 12U) | \ - PIN_AFIO_AF( 9, 12U) | \ - PIN_AFIO_AF(10, 12U) | \ - PIN_AFIO_AF(11, 12U) | \ - PIN_AFIO_AF(12, 12U) | \ - PIN_AFIO_AF(13, 0U) | \ - PIN_AFIO_AF(14, 0U) | \ - PIN_AFIO_AF(15, 0U)) - -/* - * GPIOE setup: - */ -#define VAL_GPIOE_MODER VAL_GPIO_MODER_ALL_DEFAULT -#define VAL_GPIOE_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOE_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOE_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOE_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOE_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOE_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOF setup: - */ -#define VAL_GPIOF_MODER VAL_GPIO_MODER_ALL_DEFAULT -#define VAL_GPIOF_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOF_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOF_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOF_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOF_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOF_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOG setup: - */ -#define VAL_GPIOG_MODER VAL_GPIO_MODER_ALL_DEFAULT -#define VAL_GPIOG_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOG_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOG_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOG_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOG_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOG_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOH setup: - */ -#define VAL_GPIOH_MODER VAL_GPIO_MODER_ALL_DEFAULT -#define VAL_GPIOH_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOH_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOH_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOH_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOH_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOH_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOI setup: - */ -#define VAL_GPIOI_MODER VAL_GPIO_MODER_ALL_DEFAULT -#define VAL_GPIOI_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOI_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOI_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOI_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOI_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOI_AFRH VAL_GPIO_AF_ALL_DEFAULT - -#endif /* BOARD_IO_H */ diff --git a/firmware/config/boards/BB_V2/board.mk b/firmware/config/boards/BB_V2/board.mk deleted file mode 100644 index 5d16d9e513..0000000000 --- a/firmware/config/boards/BB_V2/board.mk +++ /dev/null @@ -1,16 +0,0 @@ -# List of all the board related files. -BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp - -# Override DEFAULT_ENGINE_TYPE -DDEFS += -DSTM32F407xx -DDEFS += -DSHORT_BOARD_NAME=BB_V2 -DDEFAULT_ENGINE_TYPE=MINIMAL_PINS -DDEFS += -DFIRMWARE_ID=\"BB_V2\" -DDEFS += -DLED_CRITICAL_ERROR_BRAIN_PIN=Gpio::Unassigned -DDEFS += -DHAL_TRIGGER_USE_PAL=TRUE -DDEFS += -DHAL_VSS_USE_PAL=TRUE - -DDEFS += -DSTM32_ADC_USE_ADC3=TRUE -DDEFS += -DEFI_SOFTWARE_KNOCK=TRUE - -# Hardware serial port on UART 2 -> PD5/PD6 LUB PC10/PC11 -EFI_CONSOLE_TTL_PINS = -DEFI_CONSOLE_TX_BRAIN_PIN=Gpio::C10 -DEFI_CONSOLE_RX_BRAIN_PIN=Gpio::C11 diff --git a/firmware/config/boards/BB_V2/board_configuration.cpp b/firmware/config/boards/BB_V2/board_configuration.cpp deleted file mode 100644 index 916113028e..0000000000 --- a/firmware/config/boards/BB_V2/board_configuration.cpp +++ /dev/null @@ -1,131 +0,0 @@ -/** - * @file boards/BB V2/board_configuration.cpp - * - * @brief Configuration defaults for the core8 board - * - * @author Turbo Marian, 2022 - */ - -#include "pch.h" - -static void setInjectorPins() { - engineConfiguration->injectionPins[0] = Gpio::D12; - engineConfiguration->injectionPins[1] = Gpio::D13; - engineConfiguration->injectionPins[2] = Gpio::D14; - engineConfiguration->injectionPins[3] = Gpio::D15; - engineConfiguration->injectionPins[4] = Gpio::E9; - engineConfiguration->injectionPins[5] = Gpio::E11; - engineConfiguration->injectionPins[6] = Gpio::E14; - engineConfiguration->injectionPins[7] = Gpio::E13; -} - -static void setIgnitionPins() { - engineConfiguration->ignitionPins[0] = Gpio::D7; - engineConfiguration->ignitionPins[1] = Gpio::B9; - engineConfiguration->ignitionPins[2] = Gpio::A8; - engineConfiguration->ignitionPins[3] = Gpio::D10; - engineConfiguration->ignitionPins[4] = Gpio::D9; - engineConfiguration->ignitionPins[5] = Gpio::D11; - engineConfiguration->ignitionPins[6] = Gpio::D8; - engineConfiguration->ignitionPins[7] = Gpio::E8; -} - - -void setSdCardConfigurationOverrides(void) { -} - -void setBoardConfigOverrides(void) { - - // TLE9201 driver - // This chip has three control pins: - // DIR - sets direction of the motor - // PWM - pwm control (enable high, coast low) - // DIS - disables motor (enable low) - - // Throttle #1 - // PWM pin - engineConfiguration->etbIo[0].controlPin = Gpio::B14; - // DIR pin - engineConfiguration->etbIo[0].directionPin1 = Gpio::D5; - // Disable pin - engineConfiguration->etbIo[0].disablePin = Gpio::E4; - // Unused - engineConfiguration->etbIo[0].directionPin2 = Gpio::Unassigned; - - // Throttle #2 - // PWM pin - engineConfiguration->etbIo[1].controlPin = Gpio::Unassigned; - // DIR pin - engineConfiguration->etbIo[1].directionPin1 = Gpio::Unassigned; - // Disable pin - engineConfiguration->etbIo[1].disablePin = Gpio::Unassigned; - // Unused - engineConfiguration->etbIo[1].directionPin2 = Gpio::Unassigned; - - // we only have pwm/dir, no dira/dirb - engineConfiguration->etb_use_two_wires = false; -} - -void setPinConfigurationOverrides(void) { - - //CAN 1 bus overwrites - engineConfiguration->canTxPin = Gpio::D1; - engineConfiguration->canRxPin = Gpio::D0; - - //CAN 2 bus overwrites - engineConfiguration->can2RxPin = Gpio::Unassigned; - engineConfiguration->can2TxPin = Gpio::Unassigned; -} - -/** - * @brief Board-specific configuration defaults. - * - * See also setDefaultEngineConfiguration - * - * @todo Add your board-specific code, if any. - */ -static void setupVbatt() { - // 5.6k high side/10k low side = 1.56 ratio divider - engineConfiguration->analogInputDividerCoefficient = 1.47f; - - // 6.34k high side/1k low side = 9.2 - engineConfiguration->vbattDividerCoeff = (6.34f / 1.0f); - - // Battery sense on PC5 - engineConfiguration->vbattAdcChannel = EFI_ADC_15; - - engineConfiguration->adcVcc = 3.3f; -} - -static void setupDefaultSensorInputs() { - - engineConfiguration->afr.hwChannel = EFI_ADC_14; - setEgoSensor(ES_14Point7_Free); - - engineConfiguration->clt.config.bias_resistor = 2490; - engineConfiguration->iat.config.bias_resistor = 2490; - - engineConfiguration->baroSensor.hwChannel = EFI_ADC_NONE; - - engineConfiguration->lps25BaroSensorScl = Gpio::Unassigned; - engineConfiguration->lps25BaroSensorSda = Gpio::Unassigned; -} - -void setBoardDefaultConfiguration(void) { - setInjectorPins(); - setIgnitionPins(); - setupVbatt(); - - //engineConfiguration->sdCardPeriodMs = 50; - engineConfiguration->isSdCardEnabled = true; - - - engineConfiguration->canWriteEnabled = true; - engineConfiguration->canReadEnabled = true; - engineConfiguration->canSleepPeriodMs = 50; - - engineConfiguration->canBaudRate = B500KBPS; - engineConfiguration->can2BaudRate = B500KBPS; - - -} \ No newline at end of file diff --git a/firmware/config/boards/BB_V2/compile_BB_V2.bat b/firmware/config/boards/BB_V2/compile_BB_V2.bat deleted file mode 100644 index e6c4161e45..0000000000 --- a/firmware/config/boards/BB_V2/compile_BB_V2.bat +++ /dev/null @@ -1,10 +0,0 @@ -@echo off - -cd ../../../ -make clean -j8 PROJECT_BOARD=BB_V2 -make -j8 PROJECT_BOARD=BB_V2 PROJECT_CPU=ARCH_STM32F4 -gen_config_board.sh BB_V2 BB_V2 - - - - diff --git a/firmware/config/boards/BB_V2/connectors/generated_ts_name_by_pin.cpp b/firmware/config/boards/BB_V2/connectors/generated_ts_name_by_pin.cpp deleted file mode 100644 index 2aea98e9fc..0000000000 --- a/firmware/config/boards/BB_V2/connectors/generated_ts_name_by_pin.cpp +++ /dev/null @@ -1,43 +0,0 @@ -//DO NOT EDIT MANUALLY, let automation work hard. - -// auto-generated by PinoutLogic.java based on config\boards\BB_V2\connectors\main.yaml -#include "pch.h" - -// see comments at declaration in pin_repository.h -const char * getBoardSpecificPinName(brain_pin_e brainPin) { - switch(brainPin) { - case Gpio::A8: return "Ignition 3"; - case Gpio::B12: return "Low current output 1"; - case Gpio::B14: return "DBW_PWM"; - case Gpio::B9: return "Ignition 2"; - case Gpio::C13: return "Tacho output"; - case Gpio::C6: return "Boost controler"; - case Gpio::C7: return "Idle valve 1"; - case Gpio::D10: return "Ignition 4"; - case Gpio::D11: return "Ignition 6"; - case Gpio::D12: return "Injector 1"; - case Gpio::D13: return "Injector 2"; - case Gpio::D14: return "Injector 3"; - case Gpio::D15: return "Injector 4"; - case Gpio::D3: return "Low side output 1"; - case Gpio::D4: return "Digital input 1"; - case Gpio::D5: return "DBW_DIR"; - case Gpio::D6: return "Digital input 2"; - case Gpio::D7: return "Ignition 1"; - case Gpio::D8: return "Ignition 7"; - case Gpio::D9: return "Ignition 5"; - case Gpio::E0: return "Crankshaft Sensor"; - case Gpio::E1: return "Camshaft Sensor"; - case Gpio::E11: return "Injector 6"; - case Gpio::E12: return "VVT output"; - case Gpio::E13: return "Injector 8"; - case Gpio::E14: return "Injector 7"; - case Gpio::E3: return "Fuel pump output"; - case Gpio::E4: return "DBW_DIS"; - case Gpio::E6: return "Fan output"; - case Gpio::E8: return "Ignition 8"; - case Gpio::E9: return "Injector 5"; - default: return nullptr; - } - return nullptr; -} diff --git a/firmware/config/boards/BB_V2/connectors/main.yaml b/firmware/config/boards/BB_V2/connectors/main.yaml deleted file mode 100644 index da1f5be372..0000000000 --- a/firmware/config/boards/BB_V2/connectors/main.yaml +++ /dev/null @@ -1,289 +0,0 @@ -pins: - # Low side outputs - - pin: 1 - id: D12 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 1 - - - pin: 2 - id: D13 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 2 - - - pin: 3 - id: D14 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 3 - - - pin: 4 - id: D15 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 4 - - - pin: 5 - id: E9 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 5 - - - pin: 6 - id: E11 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 6 - - - pin: 7 - id: E14 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 7 - - - pin: 8 - id: E13 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 8 - - # Low side - - - pin: 9 - id: C6 - class: outputs - function: Low Side Output - type: ls - ts_name: Boost controler - - - pin: 10 - id: C7 - class: outputs - function: Low Side Output - type: ls - ts_name: Idle valve 1 - - - pin: 11 - id: C13 - class: outputs - function: Low Side Output - type: ls - ts_name: Tacho output - - - pin: 12 - id: D3 - class: outputs - function: Low Side Output - type: ls - ts_name: Low side output 1 - - - pin: 13 - id: E12 - class: outputs - function: Low Side Output - type: ls - ts_name: VVT output - - - pin: 14 - id: E6 - class: outputs - function: Low Side Output - type: ls - ts_name: Fan output - - - pin: 15 - id: E3 - class: outputs - function: Low Side Output - type: ls - ts_name: Fuel pump output - - - pin: 16 - id: B12 - class: outputs - function: Low Side Output - type: ls - ts_name: Low current output 1 - - - pin: 17 - id: D3 - class: outputs - function: Low Side Output - type: ls - ts_name: Low side output 1 - - - pin: 18 - id: B14 - class: outputs - function: Low Side Output - type: ls - ts_name: DBW_PWM - - - pin: 19 - id: E4 - class: outputs - function: Low Side Output - type: ls - ts_name: DBW_DIS - - - pin: 20 - id: D5 - class: outputs - function: Low Side Output - type: ls - ts_name: DBW_DIR - - # High side - - - pin: 21 - id: D7 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 1 - - - pin: 22 - id: B9 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 2 - - - pin: 23 - id: A8 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 3 - - - pin: 24 - id: D10 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 4 - - - pin: 25 - id: D9 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 5 - - - pin: 26 - id: D11 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 6 - - - pin: 27 - id: D8 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 7 - - - pin: 28 - id: E8 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 8 - - # SENSORS - - - pin: 29 - id: EFI_ADC_15 - class: analog_inputs - function: Sensor Input - ts_name: Battery reference voltage - - - pin: 30 - id: EFI_ADC_0 - class: analog_inputs - function: Sensor Input - ts_name: Fuel Pressure-spare analog input 1 - - - pin: 31 - id: EFI_ADC_1 - class: analog_inputs - function: Sensor Input - ts_name: Oil pressure-spare analog input 2 - - - pin: 32 - id: EFI_ADC_10 - class: analog_inputs - function: Sensor Input - ts_name: Iat sensor - - - pin: 33 - id: EFI_ADC_11 - class: analog_inputs - function: Sensor Input - ts_name: Tps sensor - - - pin: 34 - id: EFI_ADC_12 - class: analog_inputs - function: Sensor Input - ts_name: Map sensor - - - pin: 35 - id: EFI_ADC_13 - class: analog_inputs - function: Sensor Input - ts_name: Clt sensor - - - pin: 36 - id: EFI_ADC_14 - class: analog_inputs - function: Sensor Input - ts_name: AFR sensor - - - pin: 37 - id: EFI_ADC_9 - class: analog_inputs - function: Sensor Input - ts_name: Baro sensor - - - pin: 38 - id: [E1, E1] - class: [event_inputs, switch_inputs] - function: Camshaft Sensor (VR+/Hall) - type: hall - ts_name: Camshaft Sensor - - - pin: 39 - id: [E0, E0] - class: [event_inputs, switch_inputs] - function: Crankshaft Sensor (VR+/Hall) - type: hall - ts_name: Crankshaft Sensor - - - pin: 40 - id: [D4, D4] - class: [event_inputs, switch_inputs] - function: CLUTCH_IN - type: hall - ts_name: Digital input 1 - - - pin: 41 - id: [D6, D6] - class: [event_inputs, switch_inputs] - function: FLEX_IN - type: hall - ts_name: Digital input 2 - -info: - directory: BB_V2 - diff --git a/firmware/config/boards/BB_V2/knock_config.h b/firmware/config/boards/BB_V2/knock_config.h deleted file mode 100644 index 657c0c14e2..0000000000 --- a/firmware/config/boards/BB_V2/knock_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/** - * @file knock_config.h - */ - -#pragma once - -// Knock is on ADC3 -#define KNOCK_ADC ADCD3 - -// knock 1 - pin PA2 -#define KNOCK_ADC_CH1 ADC_CHANNEL_IN2 -#define KNOCK_PIN_CH1 Gpio::A2 - -// knock 2 - pin PA3 -#define KNOCK_HAS_CH2 true -#define KNOCK_ADC_CH2 ADC_CHANNEL_IN3 -#define KNOCK_PIN_CH2 Gpio::A3 - -// Sample rate & time - depends on the exact MCU -#define KNOCK_SAMPLE_TIME ADC_SAMPLE_84 -#define KNOCK_SAMPLE_RATE (STM32_PCLK2 / (4 * (84 + 12))) diff --git a/firmware/config/boards/BB_V2/signature_BB_V2.h b/firmware/config/boards/BB_V2/signature_BB_V2.h deleted file mode 100644 index 0a631fded5..0000000000 --- a/firmware/config/boards/BB_V2/signature_BB_V2.h +++ /dev/null @@ -1,4 +0,0 @@ -#define SIGNATURE_DATE 2022.04.24 -#define SIGNATURE_BOARD BB_V2 -// SIGNATURE_HASH is a built-in variable generated by ConfigDefinition.jar -#define TS_SIGNATURE "rusEFI DAY58.BB.V2" \ No newline at end of file diff --git a/firmware/config/boards/BB_V3/Kompiluj_autogen_pliki.bat b/firmware/config/boards/BB_V3/Kompiluj_autogen_pliki.bat deleted file mode 100644 index 830e4a7984..0000000000 --- a/firmware/config/boards/BB_V3/Kompiluj_autogen_pliki.bat +++ /dev/null @@ -1,19 +0,0 @@ -@echo off - -cd ../../../ -call gen_config.bat -call gen_config_board.bat -call gen_config_common.sh -call gen_config_default.sh -call gen_default_everything.sh -call gen_enum_to_string.bat -call gen_live_documentation.bat -call gen_output_channels.sh -call gen_ptrace_enums.bat -call gen_signature.sh -call generate_docs.bat - - - - - diff --git a/firmware/config/boards/BB_V3/To_make_ini_file_auto.txt b/firmware/config/boards/BB_V3/To_make_ini_file_auto.txt deleted file mode 100644 index 58d60c99a4..0000000000 --- a/firmware/config/boards/BB_V3/To_make_ini_file_auto.txt +++ /dev/null @@ -1,2 +0,0 @@ -w folderze /firmware -gen_config_board.sh BB_V3 BB_V3 \ No newline at end of file diff --git a/firmware/config/boards/BB_V3/board.h b/firmware/config/boards/BB_V3/board.h deleted file mode 100644 index c2b173b726..0000000000 --- a/firmware/config/boards/BB_V3/board.h +++ /dev/null @@ -1,492 +0,0 @@ -/** - * @file boards/subaru_eg33/board_io.c - * - * @date Feb 06, 2021 - * @author Andrey Gusakov, 2021 - */ - -#define BOARD_NAME "BB_V3" - -#ifndef BOARD_IO_H -#define BOARD_IO_H - -#define EFI_USB_AF 10U -#define EFI_USB_SERIAL_DM Gpio::A11 -#define EFI_USB_SERIAL_DP Gpio::A12 - -#define EFI_USE_OSC TRUE - -#define EFI_CAN_SUPPORT TRUE -#define CAN_USE_SLEEP_MODE FALSE - -#undef EFI_FILE_LOGGING -#define EFI_FILE_LOGGING TRUE - -#undef EFI_SDC_DEVICE -#define EFI_SDC_DEVICE SDCD1 - -#undef EFI_ICU_INPUTS -#define EFI_ICU_INPUTS FALSE - -#undef HAL_TRIGGER_USE_PAL -#define HAL_TRIGGER_USE_PAL TRUE - -#undef EFI_LOGIC_ANALYZER -#define EFI_LOGIC_ANALYZER FALSE - -#undef HAL_VSS_USE_PAL -#define HAL_VSS_USE_PAL TRUE - -#ifndef LED_CRITICAL_ERROR_BRAIN_PIN -#define LED_CRITICAL_ERROR_BRAIN_PIN Gpio::Unassigned -#endif - - -// Ignore USB VBUS pin (we're never a host, only a device) -#define BOARD_OTG_NOVBUSSENS TRUE - -/* - * Board oscillators-related settings. - * NOTE: LSE not fitted. - */ -#if !defined(STM32_LSECLK) -#define STM32_LSECLK 32768U -#endif - -#define STM32_LSEDRV (3U << 3U) - -/* - * Board voltages. - * Required for performance limits calculation. - */ -#define STM32_VDD 300U - - -#define EFI_PIN_MODE_DEFAULT PIN_MODE_INPUT -#ifndef EFI_DR_DEFAULT -#define EFI_DR_DEFAULT PIN_PUPDR_PULLDOWN -#endif - -// See https://github.com/rusefi/rusefi/issues/397 -#define DEFAULT_GPIO_SPEED PIN_OSPEED_HIGH - - -/* - * I/O ports initial setup, this configuration is established soon after reset - * in the initialization code. - * Please refer to the STM32 Reference Manual for details. - */ -#define PIN_MODE_INPUT(n) (0U << ((n) * 2U)) -#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U)) -#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U)) -#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U)) -#define PIN_ODR_LOW(n) (0U << (n)) -#define PIN_ODR_HIGH(n) (1U << (n)) -#define PIN_OTYPE_PUSHPULL(n) (0U << (n)) -#define PIN_OTYPE_OPENDRAIN(n) (1U << (n)) -#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U)) -#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U)) -#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U)) -#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U)) -#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U)) -#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U)) -#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U)) -#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U)) - -#define VAL_GPIO_MODER_ALL_DEFAULT (EFI_PIN_MODE_DEFAULT(0) | \ - EFI_PIN_MODE_DEFAULT(1) | \ - EFI_PIN_MODE_DEFAULT(2) | \ - EFI_PIN_MODE_DEFAULT(3) | \ - EFI_PIN_MODE_DEFAULT(4) | \ - EFI_PIN_MODE_DEFAULT(5) | \ - EFI_PIN_MODE_DEFAULT(6) | \ - EFI_PIN_MODE_DEFAULT(7) | \ - EFI_PIN_MODE_DEFAULT(8) | \ - EFI_PIN_MODE_DEFAULT(9) | \ - EFI_PIN_MODE_DEFAULT(10) | \ - EFI_PIN_MODE_DEFAULT(11) | \ - EFI_PIN_MODE_DEFAULT(12) | \ - EFI_PIN_MODE_DEFAULT(13) | \ - EFI_PIN_MODE_DEFAULT(14) | \ - EFI_PIN_MODE_DEFAULT(15)) - -#define VAL_GPIO_OTYPER_ALL_DEFAULT (PIN_OTYPE_PUSHPULL(0) | \ - PIN_OTYPE_PUSHPULL(1) | \ - PIN_OTYPE_PUSHPULL(2) | \ - PIN_OTYPE_PUSHPULL(3) | \ - PIN_OTYPE_PUSHPULL(4) | \ - PIN_OTYPE_PUSHPULL(5) | \ - PIN_OTYPE_PUSHPULL(6) | \ - PIN_OTYPE_PUSHPULL(7) | \ - PIN_OTYPE_PUSHPULL(8) | \ - PIN_OTYPE_PUSHPULL(9) | \ - PIN_OTYPE_PUSHPULL(10) | \ - PIN_OTYPE_PUSHPULL(11) | \ - PIN_OTYPE_PUSHPULL(12) | \ - PIN_OTYPE_PUSHPULL(13) | \ - PIN_OTYPE_PUSHPULL(14) | \ - PIN_OTYPE_PUSHPULL(15)) - -#define VAL_GPIO_OSPEEDR_ALL_DEFAULT (DEFAULT_GPIO_SPEED(0) | \ - DEFAULT_GPIO_SPEED(1) | \ - DEFAULT_GPIO_SPEED(2) | \ - DEFAULT_GPIO_SPEED(3) | \ - DEFAULT_GPIO_SPEED(4) | \ - DEFAULT_GPIO_SPEED(5) | \ - DEFAULT_GPIO_SPEED(6) | \ - DEFAULT_GPIO_SPEED(7) | \ - DEFAULT_GPIO_SPEED(8) | \ - DEFAULT_GPIO_SPEED(9) | \ - DEFAULT_GPIO_SPEED(10) | \ - DEFAULT_GPIO_SPEED(11) | \ - DEFAULT_GPIO_SPEED(12) | \ - DEFAULT_GPIO_SPEED(13) | \ - DEFAULT_GPIO_SPEED(14) | \ - DEFAULT_GPIO_SPEED(15)) - -#define VAL_GPIO_ODR_ALL_DEFAULT 0 - -#define VAL_GPIO_PUPDR_ALL_DEFAULT (EFI_DR_DEFAULT(0) | \ - EFI_DR_DEFAULT(1) | \ - EFI_DR_DEFAULT(2) | \ - EFI_DR_DEFAULT(3) | \ - EFI_DR_DEFAULT(4) | \ - EFI_DR_DEFAULT(5) | \ - EFI_DR_DEFAULT(6) | \ - EFI_DR_DEFAULT(7) | \ - EFI_DR_DEFAULT(8) | \ - EFI_DR_DEFAULT(9) | \ - EFI_DR_DEFAULT(10) | \ - EFI_DR_DEFAULT(11) | \ - EFI_DR_DEFAULT(12) | \ - EFI_DR_DEFAULT(13) | \ - EFI_DR_DEFAULT(14) | \ - EFI_DR_DEFAULT(15)) - -#define VAL_GPIO_AF_ALL_DEFAULT (PIN_AFIO_AF(0, 0U) | \ - PIN_AFIO_AF(1, 0U) | \ - PIN_AFIO_AF(2, 0U) | \ - PIN_AFIO_AF(3, 0U) | \ - PIN_AFIO_AF(4, 0U) | \ - PIN_AFIO_AF(5, 0U) | \ - PIN_AFIO_AF(6, 0U) | \ - PIN_AFIO_AF(7, 0U)) - - -#define VAL_GPIOA_MODER (EFI_PIN_MODE_DEFAULT(0) | \ - EFI_PIN_MODE_DEFAULT(1) | \ - EFI_PIN_MODE_DEFAULT(2) | \ - EFI_PIN_MODE_DEFAULT(3) | \ - EFI_PIN_MODE_DEFAULT(4) | \ - EFI_PIN_MODE_DEFAULT(5) | \ - EFI_PIN_MODE_DEFAULT(6) | \ - EFI_PIN_MODE_DEFAULT(7) | \ - EFI_PIN_MODE_DEFAULT(8) | \ - EFI_PIN_MODE_DEFAULT(9) | \ - EFI_PIN_MODE_DEFAULT(10) | \ - EFI_PIN_MODE_DEFAULT(11) | \ - EFI_PIN_MODE_DEFAULT(12) | \ - PIN_MODE_ALTERNATE(13) | \ - PIN_MODE_ALTERNATE(14) | \ - EFI_PIN_MODE_DEFAULT(15)) -#define VAL_GPIOA_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOA_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOA_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOA_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOA_AFRL (PIN_AFIO_AF(0, 0U) | \ - PIN_AFIO_AF(1, 0U) | \ - PIN_AFIO_AF(2, 0U) | \ - PIN_AFIO_AF(3, 0U) | \ - PIN_AFIO_AF(4, 6U) | \ - PIN_AFIO_AF(5, 5U) | \ - PIN_AFIO_AF(6, 5U) | \ - PIN_AFIO_AF(7, 5U)) -#define VAL_GPIOA_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOB setup: - */ -#define VAL_GPIOB_MODER (EFI_PIN_MODE_DEFAULT(0) | \ - EFI_PIN_MODE_DEFAULT(1) | \ - EFI_PIN_MODE_DEFAULT(2) | \ - EFI_PIN_MODE_DEFAULT(3) | \ - EFI_PIN_MODE_DEFAULT(4) | \ - EFI_PIN_MODE_DEFAULT(5) | \ - EFI_PIN_MODE_DEFAULT(6) | \ - EFI_PIN_MODE_DEFAULT(7) | \ - EFI_PIN_MODE_DEFAULT(8) | \ - EFI_PIN_MODE_DEFAULT(9) | \ - EFI_PIN_MODE_DEFAULT(10) | \ - EFI_PIN_MODE_DEFAULT(11) | \ - EFI_PIN_MODE_DEFAULT(12) | \ - EFI_PIN_MODE_DEFAULT(13) | \ - EFI_PIN_MODE_DEFAULT(14) | \ - EFI_PIN_MODE_DEFAULT(15)) -#define VAL_GPIOB_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOB_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOB_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOB_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOB_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOB_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOC setup: - - * 8 BIT MODE - * PC8 - MMC D0 - * PC9 - MMC D1 - * PC10 - MMC D2 - * PC11 - MMC D3 - * PC12 - CLK - - * 1 BIT MODE - * PC8 - MMC D0 - * PC12 - CLK - - * NOW IS SETUP FOR 1 BIT SDIO -*/ -#define VAL_GPIOC_MODER (EFI_PIN_MODE_DEFAULT(0) | \ - EFI_PIN_MODE_DEFAULT(1) | \ - EFI_PIN_MODE_DEFAULT(2) | \ - EFI_PIN_MODE_DEFAULT(3) | \ - EFI_PIN_MODE_DEFAULT(4) | \ - EFI_PIN_MODE_DEFAULT(5) | \ - EFI_PIN_MODE_DEFAULT(6) | \ - EFI_PIN_MODE_DEFAULT(7) | \ - PIN_MODE_ALTERNATE(8) | \ - EFI_PIN_MODE_DEFAULT(9) | \ - EFI_PIN_MODE_DEFAULT(10) | \ - EFI_PIN_MODE_DEFAULT(11) | \ - PIN_MODE_ALTERNATE(12) | \ - EFI_PIN_MODE_DEFAULT(13) | \ - EFI_PIN_MODE_DEFAULT(14) | \ - EFI_PIN_MODE_DEFAULT(15)) -#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL( 0) | \ - PIN_OTYPE_PUSHPULL( 1) | \ - PIN_OTYPE_PUSHPULL( 2) | \ - PIN_OTYPE_PUSHPULL( 3) | \ - PIN_OTYPE_PUSHPULL( 4) | \ - PIN_OTYPE_PUSHPULL( 5) | \ - PIN_OTYPE_PUSHPULL( 6)| \ - PIN_OTYPE_PUSHPULL( 7)| \ - PIN_OTYPE_PUSHPULL( 8)| \ - PIN_OTYPE_PUSHPULL( 9) | \ - PIN_OTYPE_PUSHPULL(10) | \ - PIN_OTYPE_PUSHPULL(11) | \ - PIN_OTYPE_PUSHPULL(12) | \ - PIN_OTYPE_PUSHPULL(13) | \ - PIN_OTYPE_PUSHPULL(14)| \ - PIN_OTYPE_PUSHPULL(15)) -#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_HIGH( 0) | \ - PIN_OSPEED_HIGH( 1) | \ - PIN_OSPEED_HIGH( 2) | \ - PIN_OSPEED_HIGH( 3) | \ - PIN_OSPEED_HIGH( 4) | \ - PIN_OSPEED_HIGH( 5) | \ - PIN_OSPEED_HIGH( 6) | \ - PIN_OSPEED_HIGH( 7) | \ - DEFAULT_GPIO_SPEED( 8) | \ - PIN_OSPEED_HIGH( 9) | \ - DEFAULT_GPIO_SPEED(10) | \ - DEFAULT_GPIO_SPEED(11) | \ - DEFAULT_GPIO_SPEED(12) | \ - PIN_OSPEED_HIGH(13) | \ - PIN_OSPEED_HIGH(14) | \ - PIN_OSPEED_HIGH(15)) -#define VAL_GPIOC_PUPDR (PIN_PUPDR_PULLDOWN( 0) | \ - PIN_PUPDR_PULLDOWN( 1) | \ - PIN_PUPDR_PULLDOWN( 2) | \ - PIN_PUPDR_PULLDOWN( 3) | \ - PIN_PUPDR_PULLDOWN( 4) | \ - PIN_PUPDR_PULLDOWN( 5) | \ - PIN_PUPDR_PULLDOWN( 6) | \ - PIN_PUPDR_PULLDOWN( 7) | \ - PIN_PUPDR_FLOATING( 8) | \ - PIN_PUPDR_PULLDOWN( 9) | \ - PIN_PUPDR_FLOATING(10) | \ - PIN_PUPDR_FLOATING(11) | \ - PIN_PUPDR_FLOATING(12) | \ - PIN_PUPDR_PULLDOWN(13) | \ - PIN_PUPDR_PULLDOWN(14) | \ - PIN_PUPDR_PULLDOWN(15)) -#define VAL_GPIOC_ODR (PIN_ODR_LOW(0) | \ - PIN_ODR_LOW(2) | \ - PIN_ODR_LOW(3) | \ - PIN_ODR_LOW(6) | \ - PIN_ODR_LOW(7) | \ - PIN_ODR_LOW(8) | \ - PIN_ODR_LOW(9) | \ - PIN_ODR_LOW(10) | \ - PIN_ODR_LOW(11) | \ - PIN_ODR_LOW(12) | \ - PIN_ODR_LOW(14)) -#define VAL_GPIOC_AFRL (PIN_AFIO_AF( 0, 0U) | \ - PIN_AFIO_AF( 1, 0U) | \ - PIN_AFIO_AF( 2, 0U) | \ - PIN_AFIO_AF( 3, 0U) | \ - PIN_AFIO_AF( 4, 0U) | \ - PIN_AFIO_AF( 5, 0U) | \ - PIN_AFIO_AF( 6, 0U) | \ - PIN_AFIO_AF( 7, 0U)) -#define VAL_GPIOC_AFRH (PIN_AFIO_AF( 8, 12U) | \ - PIN_AFIO_AF( 9, 0U) | \ - PIN_AFIO_AF(10, 0U) | \ - PIN_AFIO_AF(11, 0U) | \ - PIN_AFIO_AF(12, 12U) | \ - PIN_AFIO_AF(13, 0U) | \ - PIN_AFIO_AF(14, 0U) | \ - PIN_AFIO_AF(15, 0U)) - -/* - * GPIOD setup: - * PD2 - CMD - */ - -#define VAL_GPIOD_MODER (EFI_PIN_MODE_DEFAULT(0) | \ - EFI_PIN_MODE_DEFAULT(1) | \ - PIN_MODE_ALTERNATE(2) | \ - EFI_PIN_MODE_DEFAULT(3) | \ - EFI_PIN_MODE_DEFAULT(4) | \ - EFI_PIN_MODE_DEFAULT(5) | \ - EFI_PIN_MODE_DEFAULT(6) | \ - EFI_PIN_MODE_DEFAULT(7) | \ - EFI_PIN_MODE_DEFAULT(8) | \ - EFI_PIN_MODE_DEFAULT(9) | \ - EFI_PIN_MODE_DEFAULT(10) | \ - EFI_PIN_MODE_DEFAULT(11) | \ - EFI_PIN_MODE_DEFAULT(12) | \ - EFI_PIN_MODE_DEFAULT(13) | \ - EFI_PIN_MODE_DEFAULT(14) | \ - EFI_PIN_MODE_DEFAULT(15)) -#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL( 0) | \ - PIN_OTYPE_PUSHPULL( 1) | \ - PIN_OTYPE_PUSHPULL( 2) | \ - PIN_OTYPE_PUSHPULL( 3) | \ - PIN_OTYPE_PUSHPULL( 4) | \ - PIN_OTYPE_PUSHPULL( 5) | \ - PIN_OTYPE_PUSHPULL( 6)| \ - PIN_OTYPE_PUSHPULL( 7)| \ - PIN_OTYPE_PUSHPULL( 8)| \ - PIN_OTYPE_PUSHPULL( 9) | \ - PIN_OTYPE_PUSHPULL(10) | \ - PIN_OTYPE_PUSHPULL(11) | \ - PIN_OTYPE_PUSHPULL(12) | \ - PIN_OTYPE_PUSHPULL(13) | \ - PIN_OTYPE_PUSHPULL(14)| \ - PIN_OTYPE_PUSHPULL(15)) -#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_HIGH( 0) | \ - PIN_OSPEED_HIGH( 1) | \ - PIN_OSPEED_HIGH( 2) | \ - PIN_OSPEED_HIGH( 3) | \ - PIN_OSPEED_HIGH( 4) | \ - PIN_OSPEED_HIGH( 5) | \ - PIN_OSPEED_HIGH( 6) | \ - PIN_OSPEED_HIGH( 7) | \ - PIN_OSPEED_HIGH( 8) | \ - PIN_OSPEED_HIGH( 9) | \ - PIN_OSPEED_HIGH(10) | \ - PIN_OSPEED_HIGH(11) | \ - PIN_OSPEED_HIGH(12) | \ - PIN_OSPEED_HIGH(13) | \ - PIN_OSPEED_HIGH(14) | \ - PIN_OSPEED_HIGH(15)) -#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLDOWN( 0) | \ - PIN_PUPDR_PULLDOWN( 1) | \ - PIN_PUPDR_FLOATING( 2) | \ - PIN_PUPDR_PULLDOWN( 3) | \ - PIN_PUPDR_PULLDOWN( 4) | \ - PIN_PUPDR_PULLDOWN( 5) | \ - PIN_PUPDR_PULLDOWN( 6) | \ - PIN_PUPDR_PULLDOWN( 7) | \ - PIN_PUPDR_PULLDOWN( 8) | \ - PIN_PUPDR_PULLDOWN( 9) | \ - PIN_PUPDR_PULLDOWN(10) | \ - PIN_PUPDR_PULLDOWN(11) | \ - PIN_PUPDR_PULLDOWN(12) | \ - PIN_PUPDR_PULLDOWN(13) | \ - PIN_PUPDR_PULLDOWN(14) | \ - PIN_PUPDR_PULLDOWN(15)) -#define VAL_GPIOD_ODR (PIN_ODR_LOW(0) | \ - PIN_ODR_LOW(2) | \ - PIN_ODR_LOW(3) | \ - PIN_ODR_LOW(6) | \ - PIN_ODR_LOW(7) | \ - PIN_ODR_LOW(8) | \ - PIN_ODR_LOW(9) | \ - PIN_ODR_LOW(10) | \ - PIN_ODR_LOW(11) | \ - PIN_ODR_LOW(12) | \ - PIN_ODR_LOW(14)) -#define VAL_GPIOD_AFRL (PIN_AFIO_AF( 0, 0U) | \ - PIN_AFIO_AF( 1, 0U) | \ - PIN_AFIO_AF( 2, 12U) | \ - PIN_AFIO_AF( 3, 0U) | \ - PIN_AFIO_AF( 4, 0U) | \ - PIN_AFIO_AF( 5, 0U) | \ - PIN_AFIO_AF( 6, 0U) | \ - PIN_AFIO_AF( 7, 0U)) -#define VAL_GPIOD_AFRH (PIN_AFIO_AF( 8, 12U) | \ - PIN_AFIO_AF( 9, 12U) | \ - PIN_AFIO_AF(10, 12U) | \ - PIN_AFIO_AF(11, 12U) | \ - PIN_AFIO_AF(12, 12U) | \ - PIN_AFIO_AF(13, 0U) | \ - PIN_AFIO_AF(14, 0U) | \ - PIN_AFIO_AF(15, 0U)) - -/* - * GPIOE setup: - */ -#define VAL_GPIOE_MODER VAL_GPIO_MODER_ALL_DEFAULT -#define VAL_GPIOE_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOE_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOE_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOE_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOE_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOE_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOF setup: - */ -#define VAL_GPIOF_MODER VAL_GPIO_MODER_ALL_DEFAULT -#define VAL_GPIOF_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOF_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOF_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOF_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOF_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOF_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOG setup: - */ -#define VAL_GPIOG_MODER VAL_GPIO_MODER_ALL_DEFAULT -#define VAL_GPIOG_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOG_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOG_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOG_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOG_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOG_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOH setup: - */ -#define VAL_GPIOH_MODER VAL_GPIO_MODER_ALL_DEFAULT -#define VAL_GPIOH_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOH_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOH_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOH_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOH_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOH_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOI setup: - */ -#define VAL_GPIOI_MODER VAL_GPIO_MODER_ALL_DEFAULT -#define VAL_GPIOI_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOI_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOI_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOI_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOI_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOI_AFRH VAL_GPIO_AF_ALL_DEFAULT - -#endif /* BOARD_IO_H */ diff --git a/firmware/config/boards/BB_V3/board.mk b/firmware/config/boards/BB_V3/board.mk deleted file mode 100644 index cbaf792e39..0000000000 --- a/firmware/config/boards/BB_V3/board.mk +++ /dev/null @@ -1,16 +0,0 @@ -# List of all the board related files. -BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp - -# Override DEFAULT_ENGINE_TYPE -DDEFS += -DSTM32F407xx -DDEFS += -DSHORT_BOARD_NAME=BB_V3 -DDEFAULT_ENGINE_TYPE=MINIMAL_PINS -DDEFS += -DFIRMWARE_ID=\"BB_V3\" -DDEFS += -DLED_CRITICAL_ERROR_BRAIN_PIN=Gpio::Unassigned -DDEFS += -DHAL_TRIGGER_USE_PAL=TRUE -DDEFS += -DHAL_VSS_USE_PAL=TRUE - -DDEFS += -DSTM32_ADC_USE_ADC3=TRUE -DDEFS += -DEFI_SOFTWARE_KNOCK=TRUE - -# Hardware serial port on UART 2 -> PD5/PD6 LUB PC10/PC11 -EFI_CONSOLE_TTL_PINS = -DEFI_CONSOLE_TX_BRAIN_PIN=Gpio::C10 -DEFI_CONSOLE_RX_BRAIN_PIN=Gpio::C11 diff --git a/firmware/config/boards/BB_V3/board_configuration.cpp b/firmware/config/boards/BB_V3/board_configuration.cpp deleted file mode 100644 index c2bcf5f38f..0000000000 --- a/firmware/config/boards/BB_V3/board_configuration.cpp +++ /dev/null @@ -1,131 +0,0 @@ -/** - * @file boards/BB V3/board_configuration.cpp - * - * @brief Configuration defaults for the core8 board - * - * @author Turbo Marian, 2022 - */ - -#include "pch.h" - -static void setInjectorPins() { - engineConfiguration->injectionPins[0] = Gpio::E5; - engineConfiguration->injectionPins[1] = Gpio::E6; - engineConfiguration->injectionPins[2] = Gpio::E0; - engineConfiguration->injectionPins[3] = Gpio::C13; - engineConfiguration->injectionPins[4] = Gpio::E1; - engineConfiguration->injectionPins[5] = Gpio::A15; - engineConfiguration->injectionPins[6] = Gpio::A7; - engineConfiguration->injectionPins[7] = Gpio::B8; -} - -static void setIgnitionPins() { - engineConfiguration->ignitionPins[0] = Gpio::B9; - engineConfiguration->ignitionPins[1] = Gpio::B6; - engineConfiguration->ignitionPins[2] = Gpio::B7; - engineConfiguration->ignitionPins[3] = Gpio::B3; - engineConfiguration->ignitionPins[4] = Gpio::B5; - engineConfiguration->ignitionPins[5] = Gpio::D1; - engineConfiguration->ignitionPins[6] = Gpio::D4; - engineConfiguration->ignitionPins[7] = Gpio::D7; -} - - -void setSdCardConfigurationOverrides(void) { -} - -void setBoardConfigOverrides(void) { - - // TLE9201 driver - // This chip has three control pins: - // DIR - sets direction of the motor - // PWM - pwm control (enable high, coast low) - // DIS - disables motor (enable low) - - // Throttle #1 - // PWM pin - engineConfiguration->etbIo[0].controlPin = Gpio::B14; - // DIR pin - engineConfiguration->etbIo[0].directionPin1 = Gpio::D0; - // Disable pin - engineConfiguration->etbIo[0].disablePin = Gpio::D3; - // Unused - engineConfiguration->etbIo[0].directionPin2 = Gpio::Unassigned; - - // Throttle #2 - // PWM pin - engineConfiguration->etbIo[1].controlPin = Gpio::Unassigned; - // DIR pin - engineConfiguration->etbIo[1].directionPin1 = Gpio::Unassigned; - // Disable pin - engineConfiguration->etbIo[1].disablePin = Gpio::Unassigned; - // Unused - engineConfiguration->etbIo[1].directionPin2 = Gpio::Unassigned; - - // we only have pwm/dir, no dira/dirb - engineConfiguration->etb_use_two_wires = false; -} - -void setPinConfigurationOverrides(void) { - - //CAN 1 bus overwrites - engineConfiguration->canTxPin = Gpio::B13; - engineConfiguration->canRxPin = Gpio::B12; - - //CAN 2 bus overwrites - engineConfiguration->can2RxPin = Gpio::Unassigned; - engineConfiguration->can2TxPin = Gpio::Unassigned; -} - -/** - * @brief Board-specific configuration defaults. - * - * See also setDefaultEngineConfiguration - * - * @todo Add your board-specific code, if any. - */ -static void setupVbatt() { - // 5.6k high side/10k low side = 1.56 ratio divider - engineConfiguration->analogInputDividerCoefficient = 1.47f; - - // 6.34k high side/1k low side = 9.2 - engineConfiguration->vbattDividerCoeff = (6.34f / 1.0f); - - // Battery sense on PC5 - engineConfiguration->vbattAdcChannel = EFI_ADC_15; - - engineConfiguration->adcVcc = 3.3f; -} - -static void setupDefaultSensorInputs() { - - engineConfiguration->afr.hwChannel = EFI_ADC_14; - setEgoSensor(ES_14Point7_Free); - - engineConfiguration->clt.config.bias_resistor = 2490; - engineConfiguration->iat.config.bias_resistor = 2490; - - engineConfiguration->baroSensor.hwChannel = EFI_ADC_NONE; - - engineConfiguration->lps25BaroSensorScl = Gpio::Unassigned; - engineConfiguration->lps25BaroSensorSda = Gpio::Unassigned; -} - -void setBoardDefaultConfiguration(void) { - setInjectorPins(); - setIgnitionPins(); - setupVbatt(); - - //engineConfiguration->sdCardPeriodMs = 50; - engineConfiguration->isSdCardEnabled = true; - - - engineConfiguration->canWriteEnabled = true; - engineConfiguration->canReadEnabled = true; - engineConfiguration->canSleepPeriodMs = 50; - - engineConfiguration->canBaudRate = B500KBPS; - engineConfiguration->can2BaudRate = B500KBPS; - - -} \ No newline at end of file diff --git a/firmware/config/boards/BB_V3/compile_BB_V3.bat b/firmware/config/boards/BB_V3/compile_BB_V3.bat deleted file mode 100644 index a10b294113..0000000000 --- a/firmware/config/boards/BB_V3/compile_BB_V3.bat +++ /dev/null @@ -1,12 +0,0 @@ -@echo off - -cd ../../../ -make clean -j8 PROJECT_BOARD=BB_V3 -make -j8 PROJECT_BOARD=BB_V3 PROJECT_CPU=ARCH_STM32F4 -gen_config_board.sh BB_V3 BB_V3 - -pause - - - - diff --git a/firmware/config/boards/BB_V3/compile_BB_V3ini.bat b/firmware/config/boards/BB_V3/compile_BB_V3ini.bat deleted file mode 100644 index 2db3e0743b..0000000000 --- a/firmware/config/boards/BB_V3/compile_BB_V3ini.bat +++ /dev/null @@ -1,10 +0,0 @@ -@echo off - -cd ../../../ -gen_config_board.sh BB_V3 BB_V3 - -pause - - - - diff --git a/firmware/config/boards/BB_V3/connectors/generated_ts_name_by_pin.cpp b/firmware/config/boards/BB_V3/connectors/generated_ts_name_by_pin.cpp deleted file mode 100644 index 4930af10ab..0000000000 --- a/firmware/config/boards/BB_V3/connectors/generated_ts_name_by_pin.cpp +++ /dev/null @@ -1,44 +0,0 @@ -//DO NOT EDIT MANUALLY, let automation work hard. - -// auto-generated by PinoutLogic.java based on config\boards\BB_V3\connectors\main.yaml -#include "pch.h" - -// see comments at declaration in pin_repository.h -const char * getBoardSpecificPinName(brain_pin_e brainPin) { - switch(brainPin) { - case Gpio::A10: return "Camshaft Sensor"; - case Gpio::A15: return "Injector 6"; - case Gpio::A7: return "Injector 7"; - case Gpio::A8: return "VSS"; - case Gpio::A9: return "Crankshaft Sensor"; - case Gpio::B14: return "DBW_PWM"; - case Gpio::B3: return "Ignition 4"; - case Gpio::B5: return "Ignition 5"; - case Gpio::B6: return "Ignition 2"; - case Gpio::B7: return "Ignition 3"; - case Gpio::B8: return "Injector 8"; - case Gpio::B9: return "Ignition 1"; - case Gpio::C13: return "Injector 4"; - case Gpio::D0: return "DBW_DIR"; - case Gpio::D1: return "Ignition 6"; - case Gpio::D10: return "Digital input 2"; - case Gpio::D3: return "DBW_DIS"; - case Gpio::D4: return "Ignition 7"; - case Gpio::D7: return "Ignition 8"; - case Gpio::D8: return "Digital input 1"; - case Gpio::E0: return "Injector 3"; - case Gpio::E1: return "Injector 5"; - case Gpio::E10: return "Low side output 2"; - case Gpio::E11: return "Low side output 1"; - case Gpio::E12: return "Tacho output"; - case Gpio::E13: return "Low side output 3"; - case Gpio::E14: return "Fan output"; - case Gpio::E15: return "Fuel pump output"; - case Gpio::E5: return "Injector 1"; - case Gpio::E6: return "Injector 2"; - case Gpio::E8: return "Boost controler"; - case Gpio::E9: return "Idle valve 1"; - default: return nullptr; - } - return nullptr; -} diff --git a/firmware/config/boards/BB_V3/connectors/main.yaml b/firmware/config/boards/BB_V3/connectors/main.yaml deleted file mode 100644 index f443439959..0000000000 --- a/firmware/config/boards/BB_V3/connectors/main.yaml +++ /dev/null @@ -1,302 +0,0 @@ -pins: - # Low side outputs - - pin: 1 - id: E5 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 1 - - - pin: 2 - id: E6 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 2 - - - pin: 3 - id: E0 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 3 - - - pin: 4 - id: C13 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 4 - - - pin: 5 - id: E1 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 5 - - - pin: 6 - id: A15 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 6 - - - pin: 7 - id: A7 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 7 - - - pin: 8 - id: B8 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 8 - - # Low side - - - pin: 9 - id: E8 - class: outputs - function: Low Side Output - type: ls - ts_name: Boost controler - - - pin: 10 - id: E9 - class: outputs - function: Low Side Output - type: ls - ts_name: Idle valve 1 - - - pin: 11 - id: E12 - class: outputs - function: Low Side Output - type: ls - ts_name: Tacho output - - - pin: 12 - id: E11 - class: outputs - function: Low Side Output - type: ls - ts_name: Low side output 1 - - - pin: 13 - id: E10 - class: outputs - function: Low Side Output - type: ls - ts_name: Low side output 2 - - - pin: 14 - id: E13 - class: outputs - function: Low Side Output - type: ls - ts_name: Low side output 3 - - - - pin: 15 - id: E14 - class: outputs - function: Low Side Output - type: ls - ts_name: Fan output - - - pin: 16 - id: E15 - class: outputs - function: Low Side Output - type: ls - ts_name: Fuel pump output - - - pin: 17 - id: B14 - class: outputs - function: Low Side Output - type: ls - ts_name: DBW_PWM - - - pin: 18 - id: D3 - class: outputs - function: Low Side Output - type: ls - ts_name: DBW_DIS - - - pin: 19 - id: D0 - class: outputs - function: Low Side Output - type: ls - ts_name: DBW_DIR - - # High side - - - pin: 20 - id: B9 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 1 - - - pin: 21 - id: B6 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 2 - - - pin: 22 - id: B7 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 3 - - - pin: 23 - id: B3 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 4 - - - pin: 24 - id: B5 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 5 - - - pin: 25 - id: D1 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 6 - - - pin: 26 - id: D4 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 7 - - - pin: 27 - id: D7 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 8 - - # SENSORS - - - pin: 28 - id: EFI_ADC_15 - class: analog_inputs - function: Sensor Input - ts_name: Battery reference voltage - - - pin: 29 - id: EFI_ADC_0 - class: analog_inputs - function: Sensor Input - ts_name: Fuel Pressure-spare analog input 1 - - - pin: 30 - id: EFI_ADC_1 - class: analog_inputs - function: Sensor Input - ts_name: Oil pressure-spare analog input 2 - - - pin: 31 - id: EFI_ADC_10 - class: analog_inputs - function: Sensor Input - ts_name: Iat sensor - - - pin: 32 - id: EFI_ADC_11 - class: analog_inputs - function: Sensor Input - ts_name: Tps sensor - - - pin: 33 - id: EFI_ADC_12 - class: analog_inputs - function: Sensor Input - ts_name: Map sensor - - - pin: 34 - id: EFI_ADC_13 - class: analog_inputs - function: Sensor Input - ts_name: Clt sensor - - - pin: 35 - id: EFI_ADC_4 - class: analog_inputs - function: Sensor Input - ts_name: Analog sensor 1 - - - pin: 36 - id: EFI_ADC_5 - class: analog_inputs - function: Sensor Input - ts_name: Analog sensor 2 - - - pin: 37 - id: EFI_ADC_6 - class: analog_inputs - function: Sensor Input - ts_name: Analog sensor 3 - - - pin: 38 - id: EFI_ADC_14 - class: analog_inputs - function: Sensor Input - ts_name: AFR sensor - - - pin: 39 - id: [A10, A10] - class: [event_inputs, switch_inputs] - function: Camshaft Sensor (VR+/Hall) - type: hall - ts_name: Camshaft Sensor - - - pin: 40 - id: [A9, A9] - class: [event_inputs, switch_inputs] - function: Crankshaft Sensor (VR+/Hall) - type: hall - ts_name: Crankshaft Sensor - - - pin: 41 - id: [A8, A8] - class: [event_inputs, switch_inputs] - function: VSS (VR+/Hall) - type: hall - ts_name: VSS - - - pin: 42 - id: [D8, D8] - class: [event_inputs, switch_inputs] - function: CLUTCH_IN - type: hall - ts_name: Digital input 1 - - - pin: 43 - id: [D10, D10] - class: [event_inputs, switch_inputs] - function: FLEX_IN - type: hall - ts_name: Digital input 2 - -info: - directory: BB_V3 - diff --git a/firmware/config/boards/BB_V3/knock_config.h b/firmware/config/boards/BB_V3/knock_config.h deleted file mode 100644 index 657c0c14e2..0000000000 --- a/firmware/config/boards/BB_V3/knock_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/** - * @file knock_config.h - */ - -#pragma once - -// Knock is on ADC3 -#define KNOCK_ADC ADCD3 - -// knock 1 - pin PA2 -#define KNOCK_ADC_CH1 ADC_CHANNEL_IN2 -#define KNOCK_PIN_CH1 Gpio::A2 - -// knock 2 - pin PA3 -#define KNOCK_HAS_CH2 true -#define KNOCK_ADC_CH2 ADC_CHANNEL_IN3 -#define KNOCK_PIN_CH2 Gpio::A3 - -// Sample rate & time - depends on the exact MCU -#define KNOCK_SAMPLE_TIME ADC_SAMPLE_84 -#define KNOCK_SAMPLE_RATE (STM32_PCLK2 / (4 * (84 + 12))) diff --git a/firmware/config/boards/BB_V3/prepend.txt b/firmware/config/boards/BB_V3/prepend.txt deleted file mode 100644 index 115f4e7219..0000000000 --- a/firmware/config/boards/BB_V3/prepend.txt +++ /dev/null @@ -1,8 +0,0 @@ - -#define ts_show_software_knock true - -#define show_test_presets true -#define show_microRusEFI_presets false -#define show_Frankenso_presets false -#define show_Hellen_presets false -#define show_Proteus_presets false \ No newline at end of file diff --git a/firmware/config/boards/BB_V3/signature_BB_V3.h b/firmware/config/boards/BB_V3/signature_BB_V3.h deleted file mode 100644 index 63cd68a0fc..0000000000 --- a/firmware/config/boards/BB_V3/signature_BB_V3.h +++ /dev/null @@ -1,4 +0,0 @@ -#define SIGNATURE_DATE 2022.06.06 -#define SIGNATURE_BOARD BB_V3 -// SIGNATURE_HASH is a built-in variable generated by ConfigDefinition.jar -#define TS_SIGNATURE "rusEFI DAY98.BB.V3" \ No newline at end of file diff --git a/firmware/config/boards/common_make.sh b/firmware/config/boards/common_make.sh index f16e49eb33..86f592e3b1 100644 --- a/firmware/config/boards/common_make.sh +++ b/firmware/config/boards/common_make.sh @@ -17,7 +17,7 @@ make -j6 -r PROJECT_BOARD=$PROJECT_BOARD PROJECT_CPU=$PROJECT_CPU if [ "$USE_OPENBLT" = "yes" ]; then # TODO: why is this rm necessary? rm -f pch/pch.h.gch/* - cd bootloader; make -f src/Makefile PROJECT_BOARD=$PROJECT_BOARD PROJECT_CPU=$PROJECT_CPU -j12; cd .. + cd bootloader; make PROJECT_BOARD=$PROJECT_BOARD PROJECT_CPU=$PROJECT_CPU -j12; cd .. [ -e bootloader/blbuild/fome_bl.hex ] || { echo "FAILED to compile OpenBLT by $SCRIPT_NAME with $PROJECT_BOARD"; exit 1; } fi @@ -31,8 +31,25 @@ chmod u+x $HEX2DFU mkdir -p deliver rm -f deliver/* -echo "$SCRIPT_NAME: invoking hex2dfu for incremental rusEFI image" -$HEX2DFU -i build/fome.hex -C 0x1C -o build/fome.dfu +# delete everything we're going to regenerate +rm build/fome.bin build/fome.srec + +# Extract the firmware's base address from the elf - it may be different depending on exact CPU +firmwareBaseAddress="$(objdump -h -j .vectors build/fome.elf | awk '/.vectors/ {print $5 }')" +checksumAddress="$(printf "%X\n" $((0x$firmwareBaseAddress+0x1c)))" + +echo "Base address is 0x$firmwareBaseAddress" +echo "Checksum address is 0x$checksumAddress" + +echo "$SCRIPT_NAME: invoking hex2dfu to place image checksum" +$HEX2DFU -i build/fome.hex -c $checksumAddress -b build/fome.bin +rm build/fome.hex +# re-make hex, srec with the checksum in place +objcopy -I binary -O ihex --change-addresses=0x$firmwareBaseAddress build/fome.bin build/fome.hex +objcopy -I binary -O srec --change-addresses=0x$firmwareBaseAddress build/fome.bin build/fome.srec + +# make DFU +$HEX2DFU -i build/fome.hex -o build/fome.dfu if [ "$USE_OPENBLT" = "yes" ]; then # this image is suitable for update through bootloader only @@ -45,9 +62,8 @@ else # cp build/fome.hex deliver/ fi -# bootloader and composite image +# bootloader and combined image if [ "$USE_OPENBLT" = "yes" ]; then - rm -f deliver/fome_bl.dfu echo "$SCRIPT_NAME: invoking hex2dfu for OpenBLT" $HEX2DFU -i bootloader/blbuild/fome_bl.hex -o bootloader/blbuild/fome_bl.dfu @@ -56,10 +72,8 @@ if [ "$USE_OPENBLT" = "yes" ]; then cp bootloader/blbuild/fome_bl.dfu deliver/fome_bl.dfu #cp bootloader/blbuild/fome_bl.hex deliver/fome_bl.hex - rm -f deliver/fome_openblt.dfu - echo "$SCRIPT_NAME: invoking hex2dfu for composite rusEFI+OpenBLT image" - $HEX2DFU -i bootloader/blbuild/fome_bl.hex -i build/fome.hex -C 0x1C -o deliver/fome.dfu -b deliver/fome.bin - #todo: how to create 'signed' hex and srec? Do we need? + echo "$SCRIPT_NAME: invoking hex2dfu for combined OpenBLT+FOME image" + $HEX2DFU -i bootloader/blbuild/fome_bl.hex -i build/fome.hex -o deliver/fome.dfu -b deliver/fome.bin fi echo "$SCRIPT_NAME: build folder content:" diff --git a/firmware/config/boards/core48/board.h b/firmware/config/boards/core48/board.h new file mode 100644 index 0000000000..38adaa5057 --- /dev/null +++ b/firmware/config/boards/core48/board.h @@ -0,0 +1,1022 @@ +/** + * @file boards/core48/board.h + * + * @author Ben Brazdziunas, 2022 + */ + +#define BOARD_NAME "core48" + +#ifndef BOARD_IO_H +#define BOARD_IO_H + +#undef EFI_RTC +#define EFI_RTC FALSE + +#undef EFI_USB_SERIAL +#define EFI_USB_SERIAL TRUE + +#undef EFI_USB_AF +#define EFI_USB_AF 10U + +#undef EFI_USB_SERIAL_DM +#define EFI_USB_SERIAL_DM Gpio::A11 + +#undef EFI_USB_SERIAL_DP +#define EFI_USB_SERIAL_DP Gpio::A12 + +#undef STM32_SERIAL_USE_USART1 +#define STM32_SERIAL_USE_USART1 FALSE + +#undef STM32_UART_USE_USART1 +#define STM32_UART_USE_USART1 TRUE + +#undef TS_PRIMARY_UxART_PORT +#define TS_PRIMARY_UxART_PORT UARTD1 + +#undef SERIAL_SPEED +#define SERIAL_SPEED 115200 + +#undef EFI_CONSOLE_TX_BRAIN_PIN +#define EFI_CONSOLE_TX_BRAIN_PIN Gpio::A9 + +#undef EFI_CONSOLE_RX_BRAIN_PIN +#define EFI_CONSOLE_RX_BRAIN_PIN Gpio::A10 + +#undef EFI_BLUETOOTH_SETUP +#define EFI_BLUETOOTH_SETUP FALSE + +#undef EFI_USE_OSC +#define EFI_USE_OSC TRUE + +#undef EFI_CAN_SUPPORT +#define EFI_CAN_SUPPORT TRUE + +#undef EFI_FILE_LOGGING +#define EFI_FILE_LOGGING TRUE + +#undef EFI_MAX_31855 +#define EFI_MAX_31855 TRUE + +#undef EFI_ICU_INPUTS +#define EFI_ICU_INPUTS FALSE + +#undef HAL_TRIGGER_USE_PAL +#define HAL_TRIGGER_USE_PAL TRUE + +#undef EFI_LOGIC_ANALYZER +#define EFI_LOGIC_ANALYZER FALSE + +#undef HAL_VSS_USE_PAL +#define HAL_VSS_USE_PAL TRUE + +#undef LED_CRITICAL_ERROR_BRAIN_PIN +#define LED_CRITICAL_ERROR_BRAIN_PIN Gpio::G12 + +// Ignore USB VBUS pin (we're never a host, only a device) +#define BOARD_OTG_NOVBUSSENS TRUE + +/* + * Board oscillators-related settings. + * NOTE: LSE not fitted. + */ +#if !defined(STM32_LSECLK) +#define STM32_LSECLK 32768U +#endif + +#define STM32_LSEDRV (3U << 3U) + +/* + * Board voltages. + * Required for performance limits calculation. + */ +#define STM32_VDD 300U + +/* + * I/O ports initial setup, this configuration is established soon after reset + * in the initialization code. + * Please refer to the STM32 Reference Manual for details. + */ +#define PIN_MODE_INPUT(n) (0U << ((n) * 2U)) +#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U)) +#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U)) +#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U)) +#define PIN_ODR_LOW(n) (0U << (n)) +#define PIN_ODR_HIGH(n) (1U << (n)) +#define PIN_OTYPE_PUSHPULL(n) (0U << (n)) +#define PIN_OTYPE_OPENDRAIN(n) (1U << (n)) +#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U)) +#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U)) +#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U)) +#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U)) +#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U)) +#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U)) +#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U)) +#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U)) + +#define VAL_GPIOA_MODER (PIN_MODE_ANALOG(0) | \ + PIN_MODE_ANALOG(1) | \ + PIN_MODE_ANALOG(2) | \ + PIN_MODE_ANALOG(3) | \ + PIN_MODE_ANALOG(4) | \ + PIN_MODE_ANALOG(5) | \ + PIN_MODE_ANALOG(6) | \ + PIN_MODE_ANALOG(7) | \ + PIN_MODE_INPUT(8) | \ + PIN_MODE_ALTERNATE(9) | \ + PIN_MODE_ALTERNATE(10) | \ + PIN_MODE_ALTERNATE(11) | \ + PIN_MODE_ALTERNATE(12) | \ + PIN_MODE_INPUT(13) | \ + PIN_MODE_INPUT(14) | \ + PIN_MODE_INPUT(15)) + +#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(0) | \ + PIN_OTYPE_PUSHPULL(1) | \ + PIN_OTYPE_PUSHPULL(2) | \ + PIN_OTYPE_PUSHPULL(3) | \ + PIN_OTYPE_PUSHPULL(4) | \ + PIN_OTYPE_PUSHPULL(5) | \ + PIN_OTYPE_PUSHPULL(6) | \ + PIN_OTYPE_PUSHPULL(7) | \ + PIN_OTYPE_PUSHPULL(8) | \ + PIN_OTYPE_PUSHPULL(9) | \ + PIN_OTYPE_PUSHPULL(10) | \ + PIN_OTYPE_PUSHPULL(11) | \ + PIN_OTYPE_PUSHPULL(12) | \ + PIN_OTYPE_PUSHPULL(13) | \ + PIN_OTYPE_PUSHPULL(14) | \ + PIN_OTYPE_PUSHPULL(15)) +#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_HIGH(0) | \ + PIN_OSPEED_HIGH(1) | \ + PIN_OSPEED_HIGH(2) | \ + PIN_OSPEED_HIGH(3) | \ + PIN_OSPEED_HIGH(4) | \ + PIN_OSPEED_HIGH(5) | \ + PIN_OSPEED_HIGH(6) | \ + PIN_OSPEED_HIGH(7) | \ + PIN_OSPEED_HIGH(8) | \ + PIN_OSPEED_HIGH(9) | \ + PIN_OSPEED_HIGH(10) | \ + PIN_OSPEED_HIGH(11) | \ + PIN_OSPEED_HIGH(12) | \ + PIN_OSPEED_HIGH(13) | \ + PIN_OSPEED_HIGH(14) | \ + PIN_OSPEED_HIGH(15)) +#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING(0) | \ + PIN_PUPDR_FLOATING(1) | \ + PIN_PUPDR_FLOATING(2) | \ + PIN_PUPDR_FLOATING(3) | \ + PIN_PUPDR_FLOATING(4) | \ + PIN_PUPDR_FLOATING(5) | \ + PIN_PUPDR_FLOATING(6) | \ + PIN_PUPDR_FLOATING(7) | \ + PIN_PUPDR_PULLDOWN(8) | \ + PIN_PUPDR_PULLDOWN(9) | \ + PIN_PUPDR_PULLDOWN(10) | \ + PIN_PUPDR_PULLDOWN(11) | \ + PIN_PUPDR_PULLDOWN(12) | \ + PIN_PUPDR_PULLDOWN(13) | \ + PIN_PUPDR_PULLDOWN(14) | \ + PIN_PUPDR_PULLDOWN(15)) +#define VAL_GPIOA_ODR (PIN_ODR_LOW(0) | \ + PIN_ODR_LOW(1) | \ + PIN_ODR_LOW(2) | \ + PIN_ODR_LOW(3) | \ + PIN_ODR_LOW(4) | \ + PIN_ODR_LOW(5) | \ + PIN_ODR_LOW(6) | \ + PIN_ODR_LOW(7) | \ + PIN_ODR_LOW(8) | \ + PIN_ODR_LOW(9) | \ + PIN_ODR_LOW(10) | \ + PIN_ODR_LOW(11) | \ + PIN_ODR_LOW(12) | \ + PIN_ODR_LOW(13) | \ + PIN_ODR_LOW(14) | \ + PIN_ODR_LOW(15)) +#define VAL_GPIOA_AFRL (PIN_AFIO_AF(0, 0U) | \ + PIN_AFIO_AF(1, 0U) | \ + PIN_AFIO_AF(2, 0U) | \ + PIN_AFIO_AF(3, 0U) | \ + PIN_AFIO_AF(4, 0U) | \ + PIN_AFIO_AF(5, 0U) | \ + PIN_AFIO_AF(6, 0U) | \ + PIN_AFIO_AF(7, 0U)) + +#define VAL_GPIOA_AFRH (PIN_AFIO_AF(8, 0U) | \ + PIN_AFIO_AF(9, 7U) | \ + PIN_AFIO_AF(10, 7U) | \ + PIN_AFIO_AF(11, 10U) | \ + PIN_AFIO_AF(12, 10U) | \ + PIN_AFIO_AF(13, 0U) | \ + PIN_AFIO_AF(14, 0U) | \ + PIN_AFIO_AF(15, 0U)) + +/* + * GPIOB setup: + */ +#define VAL_GPIOB_MODER (PIN_MODE_ANALOG(0) | \ + PIN_MODE_INPUT(1) | \ + PIN_MODE_INPUT(2) | \ + PIN_MODE_INPUT(3) | \ + PIN_MODE_INPUT(4) | \ + PIN_MODE_ALTERNATE(5) | \ + PIN_MODE_ALTERNATE(6) | \ + PIN_MODE_INPUT(7) | \ + PIN_MODE_INPUT(8) | \ + PIN_MODE_INPUT(9) | \ + PIN_MODE_ALTERNATE(10) | \ + PIN_MODE_ALTERNATE(11) | \ + PIN_MODE_INPUT(12) | \ + PIN_MODE_ALTERNATE(13) | \ + PIN_MODE_ALTERNATE(14) | \ + PIN_MODE_ALTERNATE(15)) +#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(0) | \ + PIN_OTYPE_PUSHPULL(1) | \ + PIN_OTYPE_PUSHPULL(2) | \ + PIN_OTYPE_PUSHPULL(3) | \ + PIN_OTYPE_PUSHPULL(4) | \ + PIN_OTYPE_PUSHPULL(5) | \ + PIN_OTYPE_PUSHPULL(6) | \ + PIN_OTYPE_PUSHPULL(7) | \ + PIN_OTYPE_PUSHPULL(8) | \ + PIN_OTYPE_PUSHPULL(9) | \ + PIN_OTYPE_OPENDRAIN(10) | \ + PIN_OTYPE_OPENDRAIN(11) | \ + PIN_OTYPE_PUSHPULL(12) | \ + PIN_OTYPE_PUSHPULL(13) | \ + PIN_OTYPE_PUSHPULL(14) | \ + PIN_OTYPE_PUSHPULL(15)) +#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_HIGH(0) | \ + PIN_OSPEED_HIGH(1) | \ + PIN_OSPEED_HIGH(2) | \ + PIN_OSPEED_HIGH(3) | \ + PIN_OSPEED_HIGH(4) | \ + PIN_OSPEED_HIGH(5) | \ + PIN_OSPEED_HIGH(6) | \ + PIN_OSPEED_HIGH(7) | \ + PIN_OSPEED_HIGH(8) | \ + PIN_OSPEED_HIGH(9) | \ + PIN_OSPEED_HIGH(10) | \ + PIN_OSPEED_HIGH(11) | \ + PIN_OSPEED_HIGH(12) | \ + PIN_OSPEED_HIGH(13) | \ + PIN_OSPEED_HIGH(14) | \ + PIN_OSPEED_HIGH(15)) +#define VAL_GPIOB_PUPDR (PIN_PUPDR_FLOATING(0) | \ + PIN_PUPDR_PULLDOWN(1) | \ + PIN_PUPDR_PULLDOWN(2) | \ + PIN_PUPDR_PULLDOWN(3) | \ + PIN_PUPDR_PULLDOWN(4) | \ + PIN_PUPDR_FLOATING(5) | \ + PIN_PUPDR_FLOATING(6) | \ + PIN_PUPDR_PULLDOWN(7) | \ + PIN_PUPDR_PULLDOWN(8) | \ + PIN_PUPDR_PULLDOWN(9) | \ + PIN_PUPDR_PULLDOWN(10) | \ + PIN_PUPDR_PULLDOWN(11) | \ + PIN_PUPDR_PULLDOWN(12) | \ + PIN_PUPDR_PULLDOWN(13) | \ + PIN_PUPDR_PULLDOWN(14) | \ + PIN_PUPDR_PULLDOWN(15)) +#define VAL_GPIOB_ODR (PIN_ODR_LOW(0) | \ + PIN_ODR_LOW(1) | \ + PIN_ODR_LOW(2) | \ + PIN_ODR_LOW(3) | \ + PIN_ODR_LOW(4) | \ + PIN_ODR_LOW(5) | \ + PIN_ODR_LOW(6) | \ + PIN_ODR_LOW(7) | \ + PIN_ODR_LOW(8) | \ + PIN_ODR_LOW(9) | \ + PIN_ODR_LOW(10) | \ + PIN_ODR_LOW(11) | \ + PIN_ODR_LOW(12) | \ + PIN_ODR_LOW(13) | \ + PIN_ODR_LOW(14) | \ + PIN_ODR_LOW(15)) +#define VAL_GPIOB_AFRL (PIN_AFIO_AF(0, 0U) | \ + PIN_AFIO_AF(1, 0U) | \ + PIN_AFIO_AF(2, 0U) | \ + PIN_AFIO_AF(3, 0U) | \ + PIN_AFIO_AF(4, 0U) | \ + PIN_AFIO_AF(5, 9U) | \ + PIN_AFIO_AF(6, 9U) | \ + PIN_AFIO_AF(7, 0U)) +#define VAL_GPIOB_AFRH (PIN_AFIO_AF(8, 0U) | \ + PIN_AFIO_AF(9, 0U) | \ + PIN_AFIO_AF(10, 4U) | \ + PIN_AFIO_AF(11, 4U) | \ + PIN_AFIO_AF(12, 0U) | \ + PIN_AFIO_AF(13, 5U) | \ + PIN_AFIO_AF(14, 5U) | \ + PIN_AFIO_AF(15, 5U)) + +/* + * GPIOC setup: + */ +#define VAL_GPIOC_MODER (PIN_MODE_INPUT(0) | \ + PIN_MODE_ANALOG(1) | \ + PIN_MODE_ANALOG(2) | \ + PIN_MODE_INPUT(3) | \ + PIN_MODE_ANALOG(4) | \ + PIN_MODE_ANALOG(5) | \ + PIN_MODE_INPUT(6) | \ + PIN_MODE_INPUT(7) | \ + PIN_MODE_INPUT(8) | \ + PIN_MODE_INPUT(9) | \ + PIN_MODE_ALTERNATE(10) | \ + PIN_MODE_ALTERNATE(11) | \ + PIN_MODE_ALTERNATE(12) | \ + PIN_MODE_INPUT(13) | \ + PIN_MODE_INPUT(14) | \ + PIN_MODE_INPUT(15)) +#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(0) | \ + PIN_OTYPE_PUSHPULL(1) | \ + PIN_OTYPE_PUSHPULL(2) | \ + PIN_OTYPE_PUSHPULL(3) | \ + PIN_OTYPE_PUSHPULL(4) | \ + PIN_OTYPE_PUSHPULL(5) | \ + PIN_OTYPE_PUSHPULL(6) | \ + PIN_OTYPE_PUSHPULL(7) | \ + PIN_OTYPE_PUSHPULL(8) | \ + PIN_OTYPE_PUSHPULL(9) | \ + PIN_OTYPE_PUSHPULL(10) | \ + PIN_OTYPE_PUSHPULL(11) | \ + PIN_OTYPE_PUSHPULL(12) | \ + PIN_OTYPE_PUSHPULL(13) | \ + PIN_OTYPE_PUSHPULL(14) | \ + PIN_OTYPE_PUSHPULL(15)) +#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_HIGH(0) | \ + PIN_OSPEED_HIGH(1) | \ + PIN_OSPEED_HIGH(2) | \ + PIN_OSPEED_HIGH(3) | \ + PIN_OSPEED_HIGH(4) | \ + PIN_OSPEED_HIGH(5) | \ + PIN_OSPEED_HIGH(6) | \ + PIN_OSPEED_HIGH(7) | \ + PIN_OSPEED_HIGH(8) | \ + PIN_OSPEED_HIGH(9) | \ + PIN_OSPEED_HIGH(10) | \ + PIN_OSPEED_HIGH(11) | \ + PIN_OSPEED_HIGH(12) | \ + PIN_OSPEED_HIGH(13) | \ + PIN_OSPEED_HIGH(14) | \ + PIN_OSPEED_HIGH(15)) +#define VAL_GPIOC_PUPDR (PIN_PUPDR_PULLDOWN(0) | \ + PIN_PUPDR_FLOATING(1) | \ + PIN_PUPDR_FLOATING(2) | \ + PIN_PUPDR_PULLDOWN(3) | \ + PIN_PUPDR_PULLDOWN(4) | \ + PIN_PUPDR_PULLDOWN(5) | \ + PIN_PUPDR_PULLDOWN(6) | \ + PIN_PUPDR_PULLDOWN(7) | \ + PIN_PUPDR_FLOATING(8) | \ + PIN_PUPDR_FLOATING(9) | \ + PIN_PUPDR_FLOATING(10) | \ + PIN_PUPDR_FLOATING(11) | \ + PIN_PUPDR_FLOATING(12) | \ + PIN_PUPDR_PULLDOWN(13) | \ + PIN_PUPDR_PULLDOWN(14) | \ + PIN_PUPDR_PULLDOWN(15)) +#define VAL_GPIOC_ODR (PIN_ODR_LOW(0) | \ + PIN_ODR_LOW(1) | \ + PIN_ODR_LOW(2) | \ + PIN_ODR_LOW(3) | \ + PIN_ODR_LOW(4) | \ + PIN_ODR_LOW(5) | \ + PIN_ODR_LOW(6) | \ + PIN_ODR_LOW(7) | \ + PIN_ODR_LOW(8) | \ + PIN_ODR_LOW(9) | \ + PIN_ODR_LOW(10) | \ + PIN_ODR_LOW(11) | \ + PIN_ODR_LOW(12) | \ + PIN_ODR_LOW(13) | \ + PIN_ODR_LOW(14) | \ + PIN_ODR_LOW(15)) +#define VAL_GPIOC_AFRL (PIN_AFIO_AF(0, 0U) | \ + PIN_AFIO_AF(1, 0U) | \ + PIN_AFIO_AF(2, 0U) | \ + PIN_AFIO_AF(3, 0U) | \ + PIN_AFIO_AF(4, 0U) | \ + PIN_AFIO_AF(5, 0U) | \ + PIN_AFIO_AF(6, 0U) | \ + PIN_AFIO_AF(7, 0U)) + +#define VAL_GPIOC_AFRH (PIN_AFIO_AF(8, 0U) | \ + PIN_AFIO_AF(9, 0U) | \ + PIN_AFIO_AF(10, 6U) | \ + PIN_AFIO_AF(11, 6U) | \ + PIN_AFIO_AF(12, 6U) | \ + PIN_AFIO_AF(13, 0U) | \ + PIN_AFIO_AF(14, 0U) | \ + PIN_AFIO_AF(15, 0U)) + +/* + * GPIOD setup: + */ + +#define VAL_GPIOD_MODER (PIN_MODE_ALTERNATE(0) | \ + PIN_MODE_ALTERNATE(1) | \ + PIN_MODE_INPUT(2) | \ + PIN_MODE_INPUT(3) | \ + PIN_MODE_INPUT(4) | \ + PIN_MODE_INPUT(5) | \ + PIN_MODE_INPUT(6) | \ + PIN_MODE_INPUT(7) | \ + PIN_MODE_INPUT(8) | \ + PIN_MODE_INPUT(9) | \ + PIN_MODE_INPUT(10) | \ + PIN_MODE_INPUT(11) | \ + PIN_MODE_INPUT(12) | \ + PIN_MODE_INPUT(13) | \ + PIN_MODE_INPUT(14) | \ + PIN_MODE_INPUT(15)) +#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL(0) | \ + PIN_OTYPE_PUSHPULL(1) | \ + PIN_OTYPE_PUSHPULL(2) | \ + PIN_OTYPE_PUSHPULL(3) | \ + PIN_OTYPE_PUSHPULL(4) | \ + PIN_OTYPE_PUSHPULL(5) | \ + PIN_OTYPE_PUSHPULL(6) | \ + PIN_OTYPE_PUSHPULL(7) | \ + PIN_OTYPE_PUSHPULL(8) | \ + PIN_OTYPE_PUSHPULL(9) | \ + PIN_OTYPE_PUSHPULL(10) | \ + PIN_OTYPE_PUSHPULL(11) | \ + PIN_OTYPE_PUSHPULL(12) | \ + PIN_OTYPE_PUSHPULL(13) | \ + PIN_OTYPE_PUSHPULL(14) | \ + PIN_OTYPE_PUSHPULL(15)) +#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_HIGH(0) | \ + PIN_OSPEED_HIGH(1) | \ + PIN_OSPEED_HIGH(2) | \ + PIN_OSPEED_HIGH(3) | \ + PIN_OSPEED_HIGH(4) | \ + PIN_OSPEED_HIGH(5) | \ + PIN_OSPEED_HIGH(6) | \ + PIN_OSPEED_HIGH(7) | \ + PIN_OSPEED_HIGH(8) | \ + PIN_OSPEED_HIGH(9) | \ + PIN_OSPEED_HIGH(10) | \ + PIN_OSPEED_HIGH(11) | \ + PIN_OSPEED_HIGH(12) | \ + PIN_OSPEED_HIGH(13) | \ + PIN_OSPEED_HIGH(14) | \ + PIN_OSPEED_HIGH(15)) +#define VAL_GPIOD_PUPDR (PIN_PUPDR_FLOATING(0) | \ + PIN_PUPDR_FLOATING(1) | \ + PIN_PUPDR_PULLDOWN(2) | \ + PIN_PUPDR_PULLDOWN(3) | \ + PIN_PUPDR_PULLDOWN(4) | \ + PIN_PUPDR_PULLDOWN(5) | \ + PIN_PUPDR_PULLDOWN(6) | \ + PIN_PUPDR_PULLDOWN(7) | \ + PIN_PUPDR_PULLDOWN(8) | \ + PIN_PUPDR_PULLDOWN(9) | \ + PIN_PUPDR_PULLDOWN(10) | \ + PIN_PUPDR_PULLDOWN(11) | \ + PIN_PUPDR_PULLDOWN(12) | \ + PIN_PUPDR_PULLDOWN(13) | \ + PIN_PUPDR_PULLDOWN(14) | \ + PIN_PUPDR_PULLDOWN(15)) +#define VAL_GPIOD_ODR (PIN_ODR_LOW(0) | \ + PIN_ODR_LOW(1) | \ + PIN_ODR_LOW(2) | \ + PIN_ODR_LOW(3) | \ + PIN_ODR_LOW(4) | \ + PIN_ODR_LOW(5) | \ + PIN_ODR_LOW(6) | \ + PIN_ODR_LOW(7) | \ + PIN_ODR_LOW(8) | \ + PIN_ODR_LOW(9) | \ + PIN_ODR_LOW(10) | \ + PIN_ODR_LOW(11) | \ + PIN_ODR_LOW(12) | \ + PIN_ODR_LOW(13) | \ + PIN_ODR_LOW(14) | \ + PIN_ODR_LOW(15)) +#define VAL_GPIOD_AFRL (PIN_AFIO_AF(0, 9U) | \ + PIN_AFIO_AF(1, 9U) | \ + PIN_AFIO_AF(2, 0U) | \ + PIN_AFIO_AF(3, 0U) | \ + PIN_AFIO_AF(4, 0U) | \ + PIN_AFIO_AF(5, 0U) | \ + PIN_AFIO_AF(6, 0U) | \ + PIN_AFIO_AF(7, 0U)) +#define VAL_GPIOD_AFRH (PIN_AFIO_AF(8, 0U) | \ + PIN_AFIO_AF(9, 0U) | \ + PIN_AFIO_AF(10, 0U) | \ + PIN_AFIO_AF(11, 0U) | \ + PIN_AFIO_AF(12, 0U) | \ + PIN_AFIO_AF(13, 0U) | \ + PIN_AFIO_AF(14, 0U) | \ + PIN_AFIO_AF(15, 0U)) + +/* + * GPIOE setup: + */ +#define VAL_GPIOE_MODER (PIN_MODE_INPUT(0) | \ + PIN_MODE_INPUT(1) | \ + PIN_MODE_INPUT(2) | \ + PIN_MODE_INPUT(3) | \ + PIN_MODE_INPUT(4) | \ + PIN_MODE_INPUT(5) | \ + PIN_MODE_INPUT(6) | \ + PIN_MODE_INPUT(7) | \ + PIN_MODE_INPUT(8) | \ + PIN_MODE_INPUT(9) | \ + PIN_MODE_INPUT(10) | \ + PIN_MODE_INPUT(11) | \ + PIN_MODE_INPUT(12) | \ + PIN_MODE_INPUT(13) | \ + PIN_MODE_INPUT(14) | \ + PIN_MODE_INPUT(15)) +#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(0) | \ + PIN_OTYPE_PUSHPULL(1) | \ + PIN_OTYPE_PUSHPULL(2) | \ + PIN_OTYPE_PUSHPULL(3) | \ + PIN_OTYPE_PUSHPULL(4) | \ + PIN_OTYPE_PUSHPULL(5) | \ + PIN_OTYPE_PUSHPULL(6) | \ + PIN_OTYPE_PUSHPULL(7) | \ + PIN_OTYPE_PUSHPULL(8) | \ + PIN_OTYPE_PUSHPULL(9) | \ + PIN_OTYPE_PUSHPULL(10) | \ + PIN_OTYPE_PUSHPULL(11) | \ + PIN_OTYPE_PUSHPULL(12) | \ + PIN_OTYPE_PUSHPULL(13) | \ + PIN_OTYPE_PUSHPULL(14) | \ + PIN_OTYPE_PUSHPULL(15)) +#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_HIGH(0) | \ + PIN_OSPEED_HIGH(1) | \ + PIN_OSPEED_HIGH(2) | \ + PIN_OSPEED_HIGH(3) | \ + PIN_OSPEED_HIGH(4) | \ + PIN_OSPEED_HIGH(5) | \ + PIN_OSPEED_HIGH(6) | \ + PIN_OSPEED_HIGH(7) | \ + PIN_OSPEED_HIGH(8) | \ + PIN_OSPEED_HIGH(9) | \ + PIN_OSPEED_HIGH(10) | \ + PIN_OSPEED_HIGH(11) | \ + PIN_OSPEED_HIGH(12) | \ + PIN_OSPEED_HIGH(13) | \ + PIN_OSPEED_HIGH(14) | \ + PIN_OSPEED_HIGH(15)) +#define VAL_GPIOE_PUPDR (PIN_PUPDR_PULLDOWN(0) | \ + PIN_PUPDR_PULLDOWN(1) | \ + PIN_PUPDR_PULLDOWN(2) | \ + PIN_PUPDR_PULLDOWN(3) | \ + PIN_PUPDR_PULLDOWN(4) | \ + PIN_PUPDR_PULLDOWN(5) | \ + PIN_PUPDR_PULLDOWN(6) | \ + PIN_PUPDR_PULLDOWN(7) | \ + PIN_PUPDR_PULLDOWN(8) | \ + PIN_PUPDR_PULLDOWN(9) | \ + PIN_PUPDR_PULLDOWN(10) | \ + PIN_PUPDR_PULLDOWN(11) | \ + PIN_PUPDR_PULLDOWN(12) | \ + PIN_PUPDR_PULLDOWN(13) | \ + PIN_PUPDR_PULLDOWN(14) | \ + PIN_PUPDR_PULLDOWN(15)) +#define VAL_GPIOE_ODR (PIN_ODR_LOW(0) | \ + PIN_ODR_LOW(1) | \ + PIN_ODR_LOW(2) | \ + PIN_ODR_LOW(3) | \ + PIN_ODR_LOW(4) | \ + PIN_ODR_LOW(5) | \ + PIN_ODR_LOW(6) | \ + PIN_ODR_LOW(7) | \ + PIN_ODR_LOW(8) | \ + PIN_ODR_LOW(9) | \ + PIN_ODR_LOW(10) | \ + PIN_ODR_LOW(11) | \ + PIN_ODR_LOW(12) | \ + PIN_ODR_LOW(13) | \ + PIN_ODR_LOW(14) | \ + PIN_ODR_LOW(15)) +#define VAL_GPIOE_AFRL (PIN_AFIO_AF(0, 0U) | \ + PIN_AFIO_AF(1, 0U) | \ + PIN_AFIO_AF(2, 0U) | \ + PIN_AFIO_AF(3, 0U) | \ + PIN_AFIO_AF(4, 0U) | \ + PIN_AFIO_AF(5, 0U) | \ + PIN_AFIO_AF(6, 0U) | \ + PIN_AFIO_AF(7, 0U)) + +#define VAL_GPIOE_AFRH (PIN_AFIO_AF(8, 0U) | \ + PIN_AFIO_AF(9, 0U) | \ + PIN_AFIO_AF(10, 0U) | \ + PIN_AFIO_AF(11, 0U) | \ + PIN_AFIO_AF(12, 0U) | \ + PIN_AFIO_AF(13, 0U) | \ + PIN_AFIO_AF(14, 0U) | \ + PIN_AFIO_AF(15, 0U)) + +/* + * GPIOF setup: + */ +#define VAL_GPIOF_MODER (PIN_MODE_INPUT(0) | \ + PIN_MODE_INPUT(1) | \ + PIN_MODE_INPUT(2) | \ + PIN_MODE_INPUT(3) | \ + PIN_MODE_INPUT(4) | \ + PIN_MODE_INPUT(5) | \ + PIN_MODE_INPUT(6) | \ + PIN_MODE_INPUT(7) | \ + PIN_MODE_INPUT(8) | \ + PIN_MODE_INPUT(9) | \ + PIN_MODE_INPUT(10) | \ + PIN_MODE_INPUT(11) | \ + PIN_MODE_INPUT(12) | \ + PIN_MODE_INPUT(13) | \ + PIN_MODE_INPUT(14) | \ + PIN_MODE_INPUT(15)) +#define VAL_GPIOF_OTYPER (PIN_OTYPE_PUSHPULL(0) | \ + PIN_OTYPE_PUSHPULL(1) | \ + PIN_OTYPE_PUSHPULL(2) | \ + PIN_OTYPE_PUSHPULL(3) | \ + PIN_OTYPE_PUSHPULL(4) | \ + PIN_OTYPE_PUSHPULL(5) | \ + PIN_OTYPE_PUSHPULL(6) | \ + PIN_OTYPE_PUSHPULL(7) | \ + PIN_OTYPE_PUSHPULL(8) | \ + PIN_OTYPE_PUSHPULL(9) | \ + PIN_OTYPE_PUSHPULL(10) | \ + PIN_OTYPE_PUSHPULL(11) | \ + PIN_OTYPE_PUSHPULL(12) | \ + PIN_OTYPE_PUSHPULL(13) | \ + PIN_OTYPE_PUSHPULL(14) | \ + PIN_OTYPE_PUSHPULL(15)) +#define VAL_GPIOF_OSPEEDR (PIN_OSPEED_HIGH(0) | \ + PIN_OSPEED_HIGH(1) | \ + PIN_OSPEED_HIGH(2) | \ + PIN_OSPEED_HIGH(3) | \ + PIN_OSPEED_HIGH(4) | \ + PIN_OSPEED_HIGH(5) | \ + PIN_OSPEED_HIGH(6) | \ + PIN_OSPEED_HIGH(7) | \ + PIN_OSPEED_HIGH(8) | \ + PIN_OSPEED_HIGH(9) | \ + PIN_OSPEED_HIGH(10) | \ + PIN_OSPEED_HIGH(11) | \ + PIN_OSPEED_HIGH(12) | \ + PIN_OSPEED_HIGH(13) | \ + PIN_OSPEED_HIGH(14) | \ + PIN_OSPEED_HIGH(15)) +#define VAL_GPIOF_PUPDR (PIN_PUPDR_PULLDOWN(0) | \ + PIN_PUPDR_PULLDOWN(1) | \ + PIN_PUPDR_PULLDOWN(2) | \ + PIN_PUPDR_PULLDOWN(3) | \ + PIN_PUPDR_PULLDOWN(4) | \ + PIN_PUPDR_PULLDOWN(5) | \ + PIN_PUPDR_PULLDOWN(6) | \ + PIN_PUPDR_PULLDOWN(7) | \ + PIN_PUPDR_PULLDOWN(8) | \ + PIN_PUPDR_PULLDOWN(9) | \ + PIN_PUPDR_PULLDOWN(10) | \ + PIN_PUPDR_PULLDOWN(11) | \ + PIN_PUPDR_PULLDOWN(12) | \ + PIN_PUPDR_PULLDOWN(13) | \ + PIN_PUPDR_PULLDOWN(14) | \ + PIN_PUPDR_PULLDOWN(15)) +#define VAL_GPIOF_ODR (PIN_ODR_LOW(0) | \ + PIN_ODR_LOW(1) | \ + PIN_ODR_LOW(2) | \ + PIN_ODR_LOW(3) | \ + PIN_ODR_LOW(4) | \ + PIN_ODR_LOW(5) | \ + PIN_ODR_LOW(6) | \ + PIN_ODR_LOW(7) | \ + PIN_ODR_LOW(8) | \ + PIN_ODR_LOW(9) | \ + PIN_ODR_LOW(10) | \ + PIN_ODR_LOW(11) | \ + PIN_ODR_LOW(12) | \ + PIN_ODR_LOW(13) | \ + PIN_ODR_LOW(14) | \ + PIN_ODR_LOW(15)) +#define VAL_GPIOF_AFRL (PIN_AFIO_AF(0, 0U) | \ + PIN_AFIO_AF(1, 0U) | \ + PIN_AFIO_AF(2, 0U) | \ + PIN_AFIO_AF(3, 0U) | \ + PIN_AFIO_AF(4, 0U) | \ + PIN_AFIO_AF(5, 0U) | \ + PIN_AFIO_AF(6, 0U) | \ + PIN_AFIO_AF(7, 0U)) + +#define VAL_GPIOF_AFRH (PIN_AFIO_AF(8, 0U) | \ + PIN_AFIO_AF(9, 0U) | \ + PIN_AFIO_AF(10, 0U) | \ + PIN_AFIO_AF(11, 0U) | \ + PIN_AFIO_AF(12, 0U) | \ + PIN_AFIO_AF(13, 0U) | \ + PIN_AFIO_AF(14, 0U) | \ + PIN_AFIO_AF(15, 0U)) + +/* + * GPIOG setup: + */ +#define VAL_GPIOG_MODER (PIN_MODE_INPUT(0) | \ + PIN_MODE_INPUT(1) | \ + PIN_MODE_INPUT(2) | \ + PIN_MODE_INPUT(3) | \ + PIN_MODE_INPUT(4) | \ + PIN_MODE_INPUT(5) | \ + PIN_MODE_INPUT(6) | \ + PIN_MODE_INPUT(7) | \ + PIN_MODE_INPUT(8) | \ + PIN_MODE_ALTERNATE(9) | \ + PIN_MODE_INPUT(10) | \ + PIN_MODE_INPUT(11) | \ + PIN_MODE_INPUT(12) | \ + PIN_MODE_INPUT(13) | \ + PIN_MODE_ALTERNATE(14) | \ + PIN_MODE_INPUT(15)) +#define VAL_GPIOG_OTYPER (PIN_OTYPE_PUSHPULL(0) | \ + PIN_OTYPE_PUSHPULL(1) | \ + PIN_OTYPE_PUSHPULL(2) | \ + PIN_OTYPE_PUSHPULL(3) | \ + PIN_OTYPE_PUSHPULL(4) | \ + PIN_OTYPE_PUSHPULL(5) | \ + PIN_OTYPE_PUSHPULL(6) | \ + PIN_OTYPE_PUSHPULL(7) | \ + PIN_OTYPE_PUSHPULL(8) | \ + PIN_OTYPE_PUSHPULL(9) | \ + PIN_OTYPE_PUSHPULL(10) | \ + PIN_OTYPE_PUSHPULL(11) | \ + PIN_OTYPE_PUSHPULL(12) | \ + PIN_OTYPE_PUSHPULL(13) | \ + PIN_OTYPE_PUSHPULL(14) | \ + PIN_OTYPE_PUSHPULL(15)) +#define VAL_GPIOG_OSPEEDR (PIN_OSPEED_HIGH(0) | \ + PIN_OSPEED_HIGH(1) | \ + PIN_OSPEED_HIGH(2) | \ + PIN_OSPEED_HIGH(3) | \ + PIN_OSPEED_HIGH(4) | \ + PIN_OSPEED_HIGH(5) | \ + PIN_OSPEED_HIGH(6) | \ + PIN_OSPEED_HIGH(7) | \ + PIN_OSPEED_HIGH(8) | \ + PIN_OSPEED_HIGH(9) | \ + PIN_OSPEED_HIGH(10) | \ + PIN_OSPEED_HIGH(11) | \ + PIN_OSPEED_HIGH(12) | \ + PIN_OSPEED_HIGH(13) | \ + PIN_OSPEED_HIGH(14) | \ + PIN_OSPEED_HIGH(15)) +#define VAL_GPIOG_PUPDR (PIN_PUPDR_PULLDOWN(0) | \ + PIN_PUPDR_PULLDOWN(1) | \ + PIN_PUPDR_PULLDOWN(2) | \ + PIN_PUPDR_PULLDOWN(3) | \ + PIN_PUPDR_PULLDOWN(4) | \ + PIN_PUPDR_PULLDOWN(5) | \ + PIN_PUPDR_PULLDOWN(6) | \ + PIN_PUPDR_PULLDOWN(7) | \ + PIN_PUPDR_PULLDOWN(8) | \ + PIN_PUPDR_PULLDOWN(9) | \ + PIN_PUPDR_PULLDOWN(10) | \ + PIN_PUPDR_PULLDOWN(11) | \ + PIN_PUPDR_PULLDOWN(12) | \ + PIN_PUPDR_PULLDOWN(13) | \ + PIN_PUPDR_PULLDOWN(14) | \ + PIN_PUPDR_PULLDOWN(15)) +#define VAL_GPIOG_ODR (PIN_ODR_LOW(0) | \ + PIN_ODR_LOW(1) | \ + PIN_ODR_LOW(2) | \ + PIN_ODR_LOW(3) | \ + PIN_ODR_LOW(4) | \ + PIN_ODR_LOW(5) | \ + PIN_ODR_LOW(6) | \ + PIN_ODR_LOW(7) | \ + PIN_ODR_LOW(8) | \ + PIN_ODR_LOW(9) | \ + PIN_ODR_LOW(10) | \ + PIN_ODR_LOW(11) | \ + PIN_ODR_LOW(12) | \ + PIN_ODR_LOW(13) | \ + PIN_ODR_LOW(14) | \ + PIN_ODR_LOW(15)) +#define VAL_GPIOG_AFRL (PIN_AFIO_AF(0, 0U) | \ + PIN_AFIO_AF(1, 0U) | \ + PIN_AFIO_AF(2, 0U) | \ + PIN_AFIO_AF(3, 0U) | \ + PIN_AFIO_AF(4, 0U) | \ + PIN_AFIO_AF(5, 0U) | \ + PIN_AFIO_AF(6, 0U) | \ + PIN_AFIO_AF(7, 0U)) + +#define VAL_GPIOG_AFRH (PIN_AFIO_AF(8, 0U) | \ + PIN_AFIO_AF(9, 8U) | \ + PIN_AFIO_AF(10, 0U) | \ + PIN_AFIO_AF(11, 0U) | \ + PIN_AFIO_AF(12, 0U) | \ + PIN_AFIO_AF(13, 0U) | \ + PIN_AFIO_AF(14, 8U) | \ + PIN_AFIO_AF(15, 0U)) + +/* + * GPIOH setup: + */ +#define VAL_GPIOH_MODER (PIN_MODE_INPUT(0) | \ + PIN_MODE_INPUT(1) | \ + PIN_MODE_INPUT(2) | \ + PIN_MODE_INPUT(3) | \ + PIN_MODE_INPUT(4) | \ + PIN_MODE_INPUT(5) | \ + PIN_MODE_INPUT(6) | \ + PIN_MODE_INPUT(7) | \ + PIN_MODE_INPUT(8) | \ + PIN_MODE_INPUT(9) | \ + PIN_MODE_INPUT(10) | \ + PIN_MODE_INPUT(11) | \ + PIN_MODE_INPUT(12) | \ + PIN_MODE_INPUT(13) | \ + PIN_MODE_INPUT(14) | \ + PIN_MODE_INPUT(15)) +#define VAL_GPIOH_OTYPER (PIN_OTYPE_PUSHPULL(0) | \ + PIN_OTYPE_PUSHPULL(1) | \ + PIN_OTYPE_PUSHPULL(2) | \ + PIN_OTYPE_PUSHPULL(3) | \ + PIN_OTYPE_PUSHPULL(4) | \ + PIN_OTYPE_PUSHPULL(5) | \ + PIN_OTYPE_PUSHPULL(6) | \ + PIN_OTYPE_PUSHPULL(7) | \ + PIN_OTYPE_PUSHPULL(8) | \ + PIN_OTYPE_PUSHPULL(9) | \ + PIN_OTYPE_PUSHPULL(10) | \ + PIN_OTYPE_PUSHPULL(11) | \ + PIN_OTYPE_PUSHPULL(12) | \ + PIN_OTYPE_PUSHPULL(13) | \ + PIN_OTYPE_PUSHPULL(14) | \ + PIN_OTYPE_PUSHPULL(15)) +#define VAL_GPIOH_OSPEEDR (PIN_OSPEED_HIGH(0) | \ + PIN_OSPEED_HIGH(1) | \ + PIN_OSPEED_HIGH(2) | \ + PIN_OSPEED_HIGH(3) | \ + PIN_OSPEED_HIGH(4) | \ + PIN_OSPEED_HIGH(5) | \ + PIN_OSPEED_HIGH(6) | \ + PIN_OSPEED_HIGH(7) | \ + PIN_OSPEED_HIGH(8) | \ + PIN_OSPEED_HIGH(9) | \ + PIN_OSPEED_HIGH(10) | \ + PIN_OSPEED_HIGH(11) | \ + PIN_OSPEED_HIGH(12) | \ + PIN_OSPEED_HIGH(13) | \ + PIN_OSPEED_HIGH(14) | \ + PIN_OSPEED_HIGH(15)) +#define VAL_GPIOH_PUPDR (PIN_PUPDR_PULLDOWN(0) | \ + PIN_PUPDR_PULLDOWN(1) | \ + PIN_PUPDR_PULLDOWN(2) | \ + PIN_PUPDR_PULLDOWN(3) | \ + PIN_PUPDR_PULLDOWN(4) | \ + PIN_PUPDR_PULLDOWN(5) | \ + PIN_PUPDR_PULLDOWN(6) | \ + PIN_PUPDR_PULLDOWN(7) | \ + PIN_PUPDR_PULLDOWN(8) | \ + PIN_PUPDR_PULLDOWN(9) | \ + PIN_PUPDR_PULLDOWN(10) | \ + PIN_PUPDR_PULLDOWN(11) | \ + PIN_PUPDR_PULLDOWN(12) | \ + PIN_PUPDR_PULLDOWN(13) | \ + PIN_PUPDR_PULLDOWN(14) | \ + PIN_PUPDR_PULLDOWN(15)) +#define VAL_GPIOH_ODR (PIN_ODR_LOW(0) | \ + PIN_ODR_LOW(1) | \ + PIN_ODR_LOW(2) | \ + PIN_ODR_LOW(3) | \ + PIN_ODR_LOW(4) | \ + PIN_ODR_LOW(5) | \ + PIN_ODR_LOW(6) | \ + PIN_ODR_LOW(7) | \ + PIN_ODR_LOW(8) | \ + PIN_ODR_LOW(9) | \ + PIN_ODR_LOW(10) | \ + PIN_ODR_LOW(11) | \ + PIN_ODR_LOW(12) | \ + PIN_ODR_LOW(13) | \ + PIN_ODR_LOW(14) | \ + PIN_ODR_LOW(15)) +#define VAL_GPIOH_AFRL (PIN_AFIO_AF(0, 0U) | \ + PIN_AFIO_AF(1, 0U) | \ + PIN_AFIO_AF(2, 0U) | \ + PIN_AFIO_AF(3, 0U) | \ + PIN_AFIO_AF(4, 0U) | \ + PIN_AFIO_AF(5, 0U) | \ + PIN_AFIO_AF(6, 0U) | \ + PIN_AFIO_AF(7, 0U)) + +#define VAL_GPIOH_AFRH (PIN_AFIO_AF(8, 0U) | \ + PIN_AFIO_AF(9, 0U) | \ + PIN_AFIO_AF(10, 0U) | \ + PIN_AFIO_AF(11, 0U) | \ + PIN_AFIO_AF(12, 0U) | \ + PIN_AFIO_AF(13, 0U) | \ + PIN_AFIO_AF(14, 0U) | \ + PIN_AFIO_AF(15, 0U)) + +/* + * GPIOI setup: + */ +#define VAL_GPIOI_MODER (PIN_MODE_INPUT(0) | \ + PIN_MODE_INPUT(1) | \ + PIN_MODE_INPUT(2) | \ + PIN_MODE_INPUT(3) | \ + PIN_MODE_INPUT(4) | \ + PIN_MODE_INPUT(5) | \ + PIN_MODE_INPUT(6) | \ + PIN_MODE_INPUT(7) | \ + PIN_MODE_INPUT(8) | \ + PIN_MODE_INPUT(9) | \ + PIN_MODE_INPUT(10) | \ + PIN_MODE_INPUT(11) | \ + PIN_MODE_INPUT(12) | \ + PIN_MODE_INPUT(13) | \ + PIN_MODE_INPUT(14) | \ + PIN_MODE_INPUT(15)) +#define VAL_GPIOI_OTYPER (PIN_OTYPE_PUSHPULL(0) | \ + PIN_OTYPE_PUSHPULL(1) | \ + PIN_OTYPE_PUSHPULL(2) | \ + PIN_OTYPE_PUSHPULL(3) | \ + PIN_OTYPE_PUSHPULL(4) | \ + PIN_OTYPE_PUSHPULL(5) | \ + PIN_OTYPE_PUSHPULL(6) | \ + PIN_OTYPE_PUSHPULL(7) | \ + PIN_OTYPE_PUSHPULL(8) | \ + PIN_OTYPE_PUSHPULL(9) | \ + PIN_OTYPE_PUSHPULL(10) | \ + PIN_OTYPE_PUSHPULL(11) | \ + PIN_OTYPE_PUSHPULL(12) | \ + PIN_OTYPE_PUSHPULL(13) | \ + PIN_OTYPE_PUSHPULL(14) | \ + PIN_OTYPE_PUSHPULL(15)) +#define VAL_GPIOI_OSPEEDR (PIN_OSPEED_HIGH(0) | \ + PIN_OSPEED_HIGH(1) | \ + PIN_OSPEED_HIGH(2) | \ + PIN_OSPEED_HIGH(3) | \ + PIN_OSPEED_HIGH(4) | \ + PIN_OSPEED_HIGH(5) | \ + PIN_OSPEED_HIGH(6) | \ + PIN_OSPEED_HIGH(7) | \ + PIN_OSPEED_HIGH(8) | \ + PIN_OSPEED_HIGH(9) | \ + PIN_OSPEED_HIGH(10) | \ + PIN_OSPEED_HIGH(11) | \ + PIN_OSPEED_HIGH(12) | \ + PIN_OSPEED_HIGH(13) | \ + PIN_OSPEED_HIGH(14) | \ + PIN_OSPEED_HIGH(15)) +#define VAL_GPIOI_PUPDR (PIN_PUPDR_PULLDOWN(0) | \ + PIN_PUPDR_PULLDOWN(1) | \ + PIN_PUPDR_PULLDOWN(2) | \ + PIN_PUPDR_PULLDOWN(3) | \ + PIN_PUPDR_PULLDOWN(4) | \ + PIN_PUPDR_PULLDOWN(5) | \ + PIN_PUPDR_PULLDOWN(6) | \ + PIN_PUPDR_PULLDOWN(7) | \ + PIN_PUPDR_PULLDOWN(8) | \ + PIN_PUPDR_PULLDOWN(9) | \ + PIN_PUPDR_PULLDOWN(10) | \ + PIN_PUPDR_PULLDOWN(11) | \ + PIN_PUPDR_PULLDOWN(12) | \ + PIN_PUPDR_PULLDOWN(13) | \ + PIN_PUPDR_PULLDOWN(14) | \ + PIN_PUPDR_PULLDOWN(15)) +#define VAL_GPIOI_ODR (PIN_ODR_LOW(0) | \ + PIN_ODR_LOW(1) | \ + PIN_ODR_LOW(2) | \ + PIN_ODR_LOW(3) | \ + PIN_ODR_LOW(4) | \ + PIN_ODR_LOW(5) | \ + PIN_ODR_LOW(6) | \ + PIN_ODR_LOW(7) | \ + PIN_ODR_LOW(8) | \ + PIN_ODR_LOW(9) | \ + PIN_ODR_LOW(10) | \ + PIN_ODR_LOW(11) | \ + PIN_ODR_LOW(12) | \ + PIN_ODR_LOW(13) | \ + PIN_ODR_LOW(14) | \ + PIN_ODR_LOW(15)) +#define VAL_GPIOI_AFRL (PIN_AFIO_AF(0, 0U) | \ + PIN_AFIO_AF(1, 0U) | \ + PIN_AFIO_AF(2, 0U) | \ + PIN_AFIO_AF(3, 0U) | \ + PIN_AFIO_AF(4, 0U) | \ + PIN_AFIO_AF(5, 0U) | \ + PIN_AFIO_AF(6, 0U) | \ + PIN_AFIO_AF(7, 0U)) + +#define VAL_GPIOI_AFRH (PIN_AFIO_AF(8, 0U) | \ + PIN_AFIO_AF(9, 0U) | \ + PIN_AFIO_AF(10, 0U) | \ + PIN_AFIO_AF(11, 0U) | \ + PIN_AFIO_AF(12, 0U) | \ + PIN_AFIO_AF(13, 0U) | \ + PIN_AFIO_AF(14, 0U) | \ + PIN_AFIO_AF(15, 0U)) + +#endif /* BOARD_IO_H */ \ No newline at end of file diff --git a/firmware/config/boards/48way/board.mk b/firmware/config/boards/core48/board.mk old mode 100755 new mode 100644 similarity index 56% rename from firmware/config/boards/48way/board.mk rename to firmware/config/boards/core48/board.mk index 6ed79b7f18..e81bab2aea --- a/firmware/config/boards/48way/board.mk +++ b/firmware/config/boards/core48/board.mk @@ -2,6 +2,7 @@ BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp # Override DEFAULT_ENGINE_TYPE -DDEFS += -DSHORT_BOARD_NAME=48way -DDEFS += -DFIRMWARE_ID=\"48way\" +DDEFS += -DSHORT_BOARD_NAME=core48 +DDEFS += -DFIRMWARE_ID=\"core48\" DDEFS += -DDEFAULT_ENGINE_TYPE=MINIMAL_PINS +DDEFS += -DEFI_SOFTWARE_KNOCK=TRUE -DSTM32_ADC_USE_ADC3=TRUE diff --git a/firmware/config/boards/core48/board_configuration.cpp b/firmware/config/boards/core48/board_configuration.cpp new file mode 100644 index 0000000000..27162b0a3c --- /dev/null +++ b/firmware/config/boards/core48/board_configuration.cpp @@ -0,0 +1,196 @@ +/** + * @file boards/core48/board_configuration.cpp + * + * @brief Configuration defaults for the core48 board + * + * @author Ben Brazdziunas, 2022 + */ + +#include "pch.h" + +static void setInjectorPins() { + engineConfiguration->injectionPinMode = OM_DEFAULT; + + engineConfiguration->injectionPins[0] = Gpio::D6; + engineConfiguration->injectionPins[1] = Gpio::D7; + engineConfiguration->injectionPins[2] = Gpio::D8; + engineConfiguration->injectionPins[3] = Gpio::D9; + engineConfiguration->injectionPins[4] = Gpio::D10; + engineConfiguration->injectionPins[5] = Gpio::D11; + engineConfiguration->injectionPins[6] = Gpio::D12; + engineConfiguration->injectionPins[7] = Gpio::D13; +} + +static void setIgnitionPins() { + engineConfiguration->ignitionPinMode = OM_DEFAULT; + + engineConfiguration->ignitionPins[0] = Gpio::E15; + engineConfiguration->ignitionPins[1] = Gpio::E14; + engineConfiguration->ignitionPins[2] = Gpio::E13; + engineConfiguration->ignitionPins[3] = Gpio::E12; + engineConfiguration->ignitionPins[4] = Gpio::E11; + engineConfiguration->ignitionPins[5] = Gpio::E10; + engineConfiguration->ignitionPins[6] = Gpio::G8; + engineConfiguration->ignitionPins[7] = Gpio::G15; +} + + +// PE3 is error LED, configured in board.mk +Gpio getCommsLedPin() { + return Gpio::G13; +} + +Gpio getRunningLedPin() { + return Gpio::G10; +} + +Gpio getWarningLedPin() { + return Gpio::G11; +} + +static void setEtbConfig() { + // TLE9201 driver + // This chip has three control pins: + // DIR - sets direction of the motor + // PWM - pwm control (enable high, coast low) + // DIS - disables motor (enable low) + + // Throttle #1 + // PWM pin + engineConfiguration->etbIo[0].controlPin = Gpio::B8; + // DIR pin + engineConfiguration->etbIo[0].directionPin1 = Gpio::B9; + // Disable pin + engineConfiguration->etbIo[0].disablePin = Gpio::B7; + // Unused + engineConfiguration->etbIo[0].directionPin2 = Gpio::Unassigned; + + // Throttle #2 + // PWM pin + engineConfiguration->etbIo[1].controlPin = Gpio::Unassigned; + // DIR pin + engineConfiguration->etbIo[1].directionPin1 = Gpio::Unassigned; + // Disable pin + engineConfiguration->etbIo[1].disablePin = Gpio::Unassigned; + // Unused + engineConfiguration->etbIo[1].directionPin2 = Gpio::Unassigned; + + // we only have pwm/dir, no dira/dirb + engineConfiguration->etb_use_two_wires = false; +} + +static void +setupVbatt() { + // 5.6k high side/10k low side = 1.56 ratio divider + engineConfiguration->analogInputDividerCoefficient = 1.56f; + + // 6.34k high side/ 1k low side + engineConfiguration->vbattDividerCoeff = (6.34 + 1) / 1; + + // Battery sense on PA7 + engineConfiguration->vbattAdcChannel = EFI_ADC_9; + + engineConfiguration->adcVcc = 3.3f; +} + +static void setStepperConfig() { + engineConfiguration->idle.stepperDirectionPin = Gpio::A8; + engineConfiguration->idle.stepperStepPin = Gpio::C6; + engineConfiguration->stepperEnablePin = Gpio::C7; +} + +static void setupSdCard() { + + //SD CARD overwrites + engineConfiguration->sdCardSpiDevice = SPI_DEVICE_3; + + engineConfiguration->is_enabled_spi_3 = true; + engineConfiguration->spi3sckPin = Gpio::C10; + engineConfiguration->spi3misoPin = Gpio::C11; + engineConfiguration->spi3mosiPin = Gpio::C12; +} + +static void setupEGT() { + + //EGT overwrites + + engineConfiguration->spi2sckPin = Gpio::B13; + engineConfiguration->spi2misoPin = Gpio::B14; + engineConfiguration->spi2mosiPin = Gpio::B15; + engineConfiguration->is_enabled_spi_2 = true; + + engineConfiguration->max31855spiDevice = SPI_DEVICE_2; + engineConfiguration->max31855_cs[0] = Gpio::C8; + engineConfiguration->max31855_cs[1] = Gpio::C9; +} + + +void setBoardConfigOverrides() { + setupVbatt(); + setupSdCard(); + setEtbConfig(); + setStepperConfig(); + setupEGT(); + + engineConfiguration->clt.config.bias_resistor = 2490; + engineConfiguration->iat.config.bias_resistor = 2490; + + //SERIAL + engineConfiguration->binarySerialTxPin = Gpio::A9; + engineConfiguration->binarySerialRxPin = Gpio::A10; + engineConfiguration->tunerStudioSerialSpeed = SERIAL_SPEED; + engineConfiguration->uartConsoleSerialSpeed = SERIAL_SPEED; + + + + //CAN 1 bus overwrites + engineConfiguration->canRxPin = Gpio::D0; + engineConfiguration->canTxPin = Gpio::D1; + + //CAN 2 bus overwrites + engineConfiguration->can2RxPin = Gpio::B5; + engineConfiguration->can2TxPin = Gpio::B6; + + //onboard lps22 barometer + engineConfiguration->lps25BaroSensorScl = Gpio::B10; + engineConfiguration->lps25BaroSensorSda = Gpio::B11; +} + +static void setupDefaultSensorInputs() { + + engineConfiguration->afr.hwChannel = EFI_ADC_13; //PC3 + engineConfiguration->afr.hwChannel2 = EFI_ADC_0; //PA0 + setEgoSensor(ES_14Point7_Free); + + engineConfiguration->map.sensor.hwChannel = EFI_ADC_2; //PB0 + engineConfiguration->map.sensor.type = MT_MPXH6400; + + engineConfiguration->baroSensor.hwChannel = EFI_ADC_NONE; + +} + + +void setBoardDefaultConfiguration(void) { + setInjectorPins(); + setIgnitionPins(); + setupDefaultSensorInputs(); + + + engineConfiguration->canWriteEnabled = true; + engineConfiguration->canReadEnabled = true; + engineConfiguration->canSleepPeriodMs = 50; + + engineConfiguration->canBaudRate = B500KBPS; + engineConfiguration->can2BaudRate = B500KBPS; + + //ECU has two SD cards one fixed ine removable + engineConfiguration->sdCardCsPin = Gpio::B3; + + strncpy(config->luaScript, R"( + + function onTick() + + end + + )", efi::size(config->luaScript)); +} \ No newline at end of file diff --git a/firmware/config/boards/core48/compile_core48.bat b/firmware/config/boards/core48/compile_core48.bat new file mode 100644 index 0000000000..849f21acb2 --- /dev/null +++ b/firmware/config/boards/core48/compile_core48.bat @@ -0,0 +1,3 @@ +@echo off + +bash.exe compile_core48.sh diff --git a/firmware/config/boards/core48/compile_core48.sh b/firmware/config/boards/core48/compile_core48.sh new file mode 100644 index 0000000000..1e3d8ca82d --- /dev/null +++ b/firmware/config/boards/core48/compile_core48.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +export USE_OPENBLT=yes + +bash ../common_make.sh core48 ARCH_STM32F4 diff --git a/firmware/config/boards/core48/connectors/black.yaml b/firmware/config/boards/core48/connectors/black.yaml new file mode 100644 index 0000000000..b6405a3790 --- /dev/null +++ b/firmware/config/boards/core48/connectors/black.yaml @@ -0,0 +1,251 @@ +pins: + - pin: A1 + function: FUEL PUMP + type: out_low + ts_name: Low Side 12 (G3) + pin_name: PG3 + + - pin: A2 + function: FAN RELAY + type: out_low + ts_name: Low Side 13 (G4) + pin_name: PG4 + + - pin: A3 + function: BOOST + type: out_low + ts_name: Low Side 14 (G5) + pin_name: PG5 + + - pin: A4 + function: IDLE + type: out_low + ts_name: Low Side 15 (G6) + pin_name: PG6 + + - pin: A5 + function: LSU HEATER- + alternative1: LSU 4.9 CONNECTOR PIN 3 + alternative2: WHITE WIRE + type: lsu_heater- + + - pin: A6 + function: LSU IA + alternative1: LSU 4.9 CONNECTOR PIN 5 + alternative2: GREEN WIRE + type: lsu_ia + + - pin: A7 + function: LSU VGND + alternative1: LSU 4.9 CONNECTOR PIN 2 + alternative2: YELLOW WIRE + type: lsu_vgnd + + - pin: A8 + function: LSU HEATER+ + alternative1: LSU 4.9 CONNECTOR PIN 4 + alternative2: GREY WIRE + type: lsu_heater+ + + - pin: B1 + function: DBW+ + alternative1: Low Side 11 (G2) + type: switch + ts_name: Switch SW5 + + - pin: B2 + function: CAN LOW + alternative1: Digital Input 1 (D5) + alternative2: USB D+ + type: switch + ts_name: Switch SW4 + + - pin: B3 + function: CAN HIGH + alternative1: Digital Input 2 (D4) + alternative2: USB D- + type: switch + ts_name: Switch SW3 + + - pin: B4 + function: Digital Input 4 (D2) + alternative1: Analogue Input 8 (A4) + alternative2: Knock 1 (C0) + type: switch + ts_name: Switch SW2 + + - pin: B5 + function: Digital Input 3 (D3) + alternative1: Analogue Input 9 (A1) + alternative2: Knock 2 (C1) + type: switch + ts_name: Switch SW1 + + - pin: B6 + function: LSU NERMEST + alternative1: LSU 4.9 CONNECTOR PIN 6 + alternative2: BLACK WIRE + type: lsu_nermest + + - pin: B7 + function: LSU IP + alternative1: LSU 4.9 CONNECTOR PIN 1 + alternative2: RED WIRE + type: lsu_ip + + - pin: B8 + function: +12V Battery + type: 12v + ts_name: +12V from Battery + + - pin: C1 + function: DBW- + alternative1: Low Side 10 (D15) + type: switch + ts_name: Switch SW6 + + - pin: C2 + function: VR1+ + alternative1: HALL 1 (PG1) + type: in_trigger + ts_name: VR1+ + pin_name: PE2 + + - pin: C3 + function: VR1- + alternative1: HALL 2 (PE7) + type: in_trigger + ts_name: VR1- + + + - pin: C4 + function: VR2- + alternative1: HALL 4 (PE8) + type: in_trigger + ts_name: VR2- + + + - pin: C5 + function: VR2+ + alternative1: HALL 3 (PE9) + type: in_trigger + ts_name: VR2+ + pin_name: PE3 + + - pin: C6 + function: VVTI + type: out_low + ts_name: Low Side 16 (G7) + pin_name: PG7 + + - pin: C7 + function: Sensor +5v + type: 5v + ts_name: Sensor +5v Supply + + - pin: C8 + function: Ground + type: gnd + ts_name: Ground + +info: + title: pinout + name: BLACK CONNECTOR + image: + file: main.jpg + pins: + - pin: A1 + x: 560 + y: 182 + + - pin: A2 + x: 584 + y: 182 + + - pin: A3 + x: 608 + y: 182 + + - pin: A4 + x: 632 + y: 182 + + - pin: A5 + x: 656 + y: 182 + + - pin: A6 + x: 680 + y: 182 + + - pin: A7 + x: 704 + y: 182 + + - pin: A8 + x: 728 + y: 182 + + - pin: B1 + x: 560 + y: 146 + + - pin: B2 + x: 584 + y: 146 + + - pin: B3 + x: 608 + y: 146 + + - pin: B4 + x: 632 + y: 146 + + - pin: B5 + x: 656 + y: 146 + + - pin: B6 + x: 680 + y: 146 + + - pin: B7 + x: 704 + y: 146 + + - pin: B8 + x: 728 + y: 146 + + - pin: C1 + x: 560 + y: 110 + + - pin: C2 + x: 584 + y: 110 + + - pin: C3 + x: 608 + y: 110 + + - pin: C4 + x: 632 + y: 110 + + - pin: C5 + x: 656 + y: 110 + + - pin: C6 + x: 680 + y: 110 + + - pin: C7 + x: 704 + y: 110 + + - pin: C8 + x: 728 + y: 110 \ No newline at end of file diff --git a/firmware/config/boards/core48/connectors/generated_ts_name_by_pin.cpp b/firmware/config/boards/core48/connectors/generated_ts_name_by_pin.cpp new file mode 100644 index 0000000000..339e54a576 --- /dev/null +++ b/firmware/config/boards/core48/connectors/generated_ts_name_by_pin.cpp @@ -0,0 +1,84 @@ +//DO NOT EDIT MANUALLY, let automation work hard. + +// auto-generated by PinoutLogic.java based on config/boards/core48/connectors/black.yaml +// auto-generated by PinoutLogic.java based on config/boards/core48/connectors/grey.yaml +// auto-generated by PinoutLogic.java based on config/boards/core48/connectors/main.yaml +#include "pch.h" + +// see comments at declaration in pin_repository.h +const char * getBoardSpecificPinName(brain_pin_e brainPin) { + switch(brainPin) { + case Gpio::A10: return "USART1 RX (A10)"; + case Gpio::A8: return "Stepper Direction (A8)"; + case Gpio::A9: return "USART1 TX (A9)"; + case Gpio::B10: return "BARO SCL (B10)"; + case Gpio::B11: return "BARO SDA (B11)"; + case Gpio::B13: return "SPI2 SCK (B13)"; + case Gpio::B14: return "SPI2 MISO (B14)"; + case Gpio::B15: return "SPI2 MOSI (B15)"; + case Gpio::B3: return "SD CS1 (B3)"; + case Gpio::B4: return "SD CS2 (B4)"; + case Gpio::B5: return "CAN 2 RX (B5)"; + case Gpio::B6: return "CAN 2 TX (B6)"; + case Gpio::B7: return "DBW Disable (B7)"; + case Gpio::B8: return "DBW Control (B8)"; + case Gpio::B9: return "DBW Direction (B9)"; + case Gpio::C10: return "SPI3 SCK (C10)"; + case Gpio::C11: return "SPI3 MISO (C11)"; + case Gpio::C12: return "SPI3 MOSI (C12)"; + case Gpio::C6: return "Stepper Control (C6)"; + case Gpio::C7: return "Stepper Disable (C7)"; + case Gpio::C8: return "EGT1 CS (C8)"; + case Gpio::C9: return "EGT2 CS (C9)"; + case Gpio::D0: return "CAN 1 RX (D0)"; + case Gpio::D1: return "CAN 1 TX (D1)"; + case Gpio::D10: return "Low Side 5 (D10)"; + case Gpio::D11: return "Low Side 6 (D11)"; + case Gpio::D12: return "Low Side 7 (D12)"; + case Gpio::D13: return "Low Side 8 (D13)"; + case Gpio::D14: return "Low Side 9 (D14)"; + case Gpio::D15: return "Low Side 10 (D15)"; + case Gpio::D2: return "Digital Input 3 (D2)"; + case Gpio::D3: return "Digital Input 4 (D3)"; + case Gpio::D4: return "Digital Input 1 (D4)"; + case Gpio::D5: return "Digital Input 2 (D5)"; + case Gpio::D6: return "Low Side 1 (D6)"; + case Gpio::D7: return "Low Side 2 (D7)"; + case Gpio::D8: return "Low Side 3 (D8)"; + case Gpio::D9: return "Low Side 4 (D9)"; + case Gpio::E10: return "High Side 6 (E10)"; + case Gpio::E11: return "High Side 5 (E11)"; + case Gpio::E12: return "High Side 4 (E12)"; + case Gpio::E13: return "High Side 3 (E13)"; + case Gpio::E14: return "High Side 2 (E14)"; + case Gpio::E15: return "High Side 1 (E15)"; + case Gpio::E2: return "VR1 (E2)"; + case Gpio::E3: return "VR2 (E3)"; + case Gpio::E4: return "VR3 (E4)"; + case Gpio::E5: return "VR4 (E5)"; + case Gpio::E7: return "Hall2 (E7)"; + case Gpio::E8: return "Hall4 (E8)"; + case Gpio::E9: return "Hall3 (E9)"; + case Gpio::F13: return "Hall5 (F13)"; + case Gpio::F14: return "Hall6 (F14)"; + case Gpio::F15: return "Hall8 (F15)"; + case Gpio::G0: return "Hall7 (G0)"; + case Gpio::G1: return "Hall1 (G1)"; + case Gpio::G10: return "Running LED (G10)"; + case Gpio::G11: return "Warning LED (G11)"; + case Gpio::G12: return "Error LED (G12)"; + case Gpio::G13: return "Communication LED (G13)"; + case Gpio::G14: return "USART6 TX (G14)"; + case Gpio::G15: return "High Side 8 (G15)"; + case Gpio::G2: return "Low Side 11 (G2)"; + case Gpio::G3: return "Low Side 12 (G3)"; + case Gpio::G4: return "Low Side 13 (G4)"; + case Gpio::G5: return "Low Side 14 (G5)"; + case Gpio::G6: return "Low Side 15 (G6)"; + case Gpio::G7: return "Low Side 16 (G7)"; + case Gpio::G8: return "High Side 7 (G8)"; + case Gpio::G9: return "USART6 RX (G9)"; + default: return nullptr; + } + return nullptr; +} diff --git a/firmware/config/boards/core48/connectors/grey.yaml b/firmware/config/boards/core48/connectors/grey.yaml new file mode 100644 index 0000000000..93285a2d85 --- /dev/null +++ b/firmware/config/boards/core48/connectors/grey.yaml @@ -0,0 +1,257 @@ +pins: + - pin: A1 + function: INJECTOR 1 + type: out_low + ts_name: Low Side 1 (D6) + pin_name: PD6 + + - pin: A2 + function: INJECTOR 2 + type: out_low + ts_name: Low Side 2 (D7) + pin_name: PD7 + + - pin: A3 + function: INJECTOR 3 + type: out_low + ts_name: Low Side 3 (D8) + pin_name: PD8 + + - pin: A4 + function: INJECTOR 4 + type: out_low + ts_name: Low Side 4 (D9) + pin_name: PD9 + + - pin: A5 + function: INJECTOR 5 + type: out_low + ts_name: Low Side 5 (D10) + pin_name: PD10 + + - pin: A6 + function: INJECTOR 6 + type: out_low + ts_name: Low Side 6 (D11) + pin_name: PD11 + + - pin: A7 + function: INJECTOR 7 + type: out_low + ts_name: Low Side 7 (D12) + pin_name: PD12 + + - pin: A8 + function: INJECTOR 8 + type: out_low + ts_name: Low Side 8 (D13) + pin_name: PD13 + + - pin: B1 + function: COIL 1 + alternative1: +5v or +12v signal depends on selection + type: out_high + ts_name: High Side 1 (G15) + pin_name: PG15 + + - pin: B2 + function: COIL 2 + alternative1: +5v or +12v signal depends on selection + type: out_high + ts_name: High Side 2 (G8) + pin_name: PG8 + + - pin: B3 + function: COIL 3 + alternative1: +5v or +12v signal depends on selection + type: out_high + ts_name: High Side 3 (E10) + pin_name: PE10 + + - pin: B4 + function: COIL 4 + alternative1: +5v or +12v signal depends on selection + type: out_high + ts_name: High Side 4 (E11) + pin_name: PE11 + + - pin: B5 + function: COIL 5 + alternative1: +5v or +12v signal depends on selection + type: out_high + ts_name: High Side 5 (E12) + pin_name: PE12 + + - pin: B6 + function: COIL 6 + alternative1: +5v or +12v signal depends on selection + type: out_high + ts_name: High Side 6 (E13) + pin_name: PE13 + + - pin: B7 + function: COIL 7 + alternative1: +5v or +12v signal depends on selection + type: out_high + ts_name: High Side 7 (E14) + pin_name: PE14 + + - pin: B8 + function: COIL 8 + alternative1: +5v or +12v signal depends on selection + type: out_high + ts_name: High Side 8 (E15) + pin_name: PE15 + + - pin: C1 + function: TPS + type: in_adc + ts_name: Analog Inputs 1 (C5) + pin_name: PC5 + + - pin: C2 + function: CLT + alternative1: turn SW10 B0 ON to enable 2.49k PULL UP + type: in_adc + ts_name: Analog Inputs 2 (B0) + pin_name: PB0 + + - pin: C3 + function: IAT + alternative1: turn SW10 A7 ON to enable 2.49k PULL UP + type: in_adc + ts_name: Analog Inputs 3 (A7) + pin_name: PA7 + + - pin: C4 + function: OIL PRESSURE + type: in_adc + ts_name: Analog Inputs 4 (C4) + pin_name: PC4 + + - pin: C5 + function: FUEL PRESSURE + type: in_adc + ts_name: Analog Inputs 5 (A5) + pin_name: PA5 + + - pin: C6 + function: SPARE ANALOG INPUT + type: in_adc + ts_name: Analog Inputs 6 (A6) + pin_name: PA6 + + - pin: C7 + function: SPARE ANALOG INPUT + type: in_adc + ts_name: Analog Inputs 7 (A3) + pin_name: PA3 + + - pin: C8 + function: TACHO + alternative1: PULL UP to +5v or +12v depends on selection + type: out_low + ts_name: High Side 9 (D14) + pin_name: PD14 + +info: + title: pinout + name: GREY CONNECTOR + image: + file: main.jpg + pins: + - pin: A1 + x: 192 + y: 182 + + - pin: A2 + x: 216 + y: 182 + + - pin: A3 + x: 240 + y: 182 + + - pin: A4 + x: 264 + y: 182 + + - pin: A5 + x: 288 + y: 182 + + - pin: A6 + x: 312 + y: 182 + + - pin: A7 + x: 336 + y: 182 + + - pin: A8 + x: 360 + y: 182 + + - pin: B1 + x: 192 + y: 146 + + - pin: B2 + x: 216 + y: 146 + + - pin: B3 + x: 240 + y: 146 + + - pin: B4 + x: 264 + y: 146 + + - pin: B5 + x: 288 + y: 146 + + - pin: B6 + x: 312 + y: 146 + + - pin: B7 + x: 336 + y: 146 + + - pin: B8 + x: 360 + y: 146 + + - pin: C1 + x: 192 + y: 110 + + - pin: C2 + x: 216 + y: 110 + + - pin: C3 + x: 240 + y: 110 + + - pin: C4 + x: 264 + y: 110 + + - pin: C5 + x: 288 + y: 110 + + - pin: C6 + x: 312 + y: 110 + + - pin: C7 + x: 336 + y: 110 + + - pin: C8 + x: 360 + y: 110 \ No newline at end of file diff --git a/firmware/config/boards/core48/connectors/main.jpg b/firmware/config/boards/core48/connectors/main.jpg new file mode 100644 index 0000000000..27ccb20fa2 Binary files /dev/null and b/firmware/config/boards/core48/connectors/main.jpg differ diff --git a/firmware/config/boards/core48/connectors/main.yaml b/firmware/config/boards/core48/connectors/main.yaml new file mode 100644 index 0000000000..e30c8c8054 --- /dev/null +++ b/firmware/config/boards/core48/connectors/main.yaml @@ -0,0 +1,360 @@ +pins: + - function: Power Ground + type: gnd + color: black + + - function: +12V + type: 12v + color: red + + - id: D6 + class: outputs + ts_name: Low Side 1 (D6) + + - id: D7 + class: outputs + ts_name: Low Side 2 (D7) + + - id: D8 + class: outputs + ts_name: Low Side 3 (D8) + + - id: D9 + class: outputs + ts_name: Low Side 4 (D9) + + - id: D10 + class: outputs + ts_name: Low Side 5 (D10) + + - id: D11 + class: outputs + ts_name: Low Side 6 (D11) + + - id: D12 + class: outputs + ts_name: Low Side 7 (D12) + + - id: D13 + class: outputs + ts_name: Low Side 8 (D13) + + - id: D14 + class: outputs + function: Tachometer Output + ts_name: Low Side 9 (D14) + + - id: D15 + class: outputs + ts_name: Low Side 10 (D15) + + - id: G2 + class: outputs + ts_name: Low Side 11 (G2) + + - id: G3 + class: outputs + ts_name: Low Side 12 (G3) + + - id: G4 + class: outputs + ts_name: Low Side 13 (G4) + + - id: G5 + class: outputs + ts_name: Low Side 14 (G5) + + - id: G6 + class: outputs + ts_name: Low Side 15 (G6) + + - id: G7 + class: outputs + ts_name: Low Side 16 (G7) + + - id: E15 + class: outputs + type: ign + ts_name: High Side 1 (E15) + + - id: E14 + class: outputs + type: ign + ts_name: High Side 2 (E14) + + - id: E13 + class: outputs + type: ign + ts_name: High Side 3 (E13) + + - id: E12 + class: outputs + type: ign + ts_name: High Side 4 (E12) + + - id: E11 + class: outputs + type: ign + ts_name: High Side 5 (E11) + + - id: E10 + class: outputs + type: ign + ts_name: High Side 6 (E10) + + - id: G8 + class: outputs + type: ign + ts_name: High Side 7 (G8) + + - id: G15 + class: outputs + type: ign + ts_name: High Side 8 (G15) + + - id: A8 + class: outputs + ts_name: Stepper Direction (A8) + + - id: C6 + class: outputs + ts_name: Stepper Control (C6) + + - id: C7 + class: outputs + ts_name: Stepper Disable (C7) + + - id: B7 + class: outputs + ts_name: DBW Disable (B7) + + - id: B8 + class: outputs + ts_name: DBW Control (B8) + + - id: B9 + class: outputs + ts_name: DBW Direction (B9) + + - id: EFI_ADC_9 + class: analog_inputs + ts_name: On-board Battery Sense (B1) + + - id: EFI_ADC_15 + class: analog_inputs + ts_name: Analog Inputs 1 (C5) + + - id: EFI_ADC_8 + class: analog_inputs + ts_name: Analog Inputs 2 (B0) + + - id: EFI_ADC_7 + class: analog_inputs + ts_name: Analog Inputs 3 (A7) + + - id: EFI_ADC_14 + class: analog_inputs + ts_name: Analog Inputs 4 (C4) + + - id: EFI_ADC_5 + class: analog_inputs + ts_name: Analog Inputs 5 (A5) + + - id: EFI_ADC_6 + class: analog_inputs + ts_name: Analog Inputs 6 (A6) + + - id: EFI_ADC_3 + class: analog_inputs + ts_name: Analog Inputs 7 (A3) + + - id: EFI_ADC_2 + class: analog_inputs + function: MAP Sensor Input + ts_name: On-board MAP (A2) + + - id: EFI_ADC_13 + class: analog_inputs + function: O2 Sensor Input + ts_name: Primary On-board O2 (C3) + + - id: EFI_ADC_0 + class: analog_inputs + function: O2 Sensor Input + ts_name: Secondary On-board O2 (A0) + + - id: EFI_ADC_4 + class: analog_inputs + ts_name: Analog Inputs 8 (A4) + + - id: EFI_ADC_1 + class: analog_inputs + ts_name: Analog Inputs 9 (A1) + + - id: EFI_ADC_10 + class: analog_inputs + ts_name: Analog Inputs Knock 1 (C0) + + - id: EFI_ADC_11 + class: analog_inputs + ts_name: Analog Inputs Knock 2 (C1) + + - id: [E2, E2] + class: [switch_inputs, event_inputs] + ts_name: VR1 (E2) + + - id: [E3, E3] + class: [switch_inputs, event_inputs] + ts_name: VR2 (E3) + + - id: [E4, E4] + class: [switch_inputs, event_inputs] + ts_name: VR3 (E4) + + - id: [E5, E5] + class: [switch_inputs, event_inputs] + ts_name: VR4 (E5) + + - id: [G1, G1] + class: [switch_inputs, event_inputs] + ts_name: Hall1 (G1) + + - id: [E7, E7] + class: [switch_inputs, event_inputs] + ts_name: Hall2 (E7) + + - id: [E9, E9] + class: [switch_inputs, event_inputs] + ts_name: Hall3 (E9) + + - id: [E8, E8] + class: [switch_inputs, event_inputs] + ts_name: Hall4 (E8) + + - id: [F13, F13] + class: [switch_inputs, event_inputs] + ts_name: Hall5 (F13) + + - id: [F14, F14] + class: [switch_inputs, event_inputs] + ts_name: Hall6 (F14) + + - id: [G0, G0] + class: [switch_inputs, event_inputs] + ts_name: Hall7 (G0) + + - id: [F15, F15] + class: [switch_inputs, event_inputs] + ts_name: Hall8 (F15) + + - id: [D4, D4] + class: [switch_inputs, event_inputs] + ts_name: Digital Input 1 (D4) + + - id: [D5, D5] + class: [switch_inputs, event_inputs] + ts_name: Digital Input 2 (D5) + + - id: [D2, D2] + class: [switch_inputs, event_inputs] + ts_name: Digital Input 3 (D2) + + - id: [D3, D3] + class: [switch_inputs, event_inputs] + ts_name: Digital Input 4 (D3) + + - id: G10 + class: outputs + ts_name: Running LED (G10) + + - id: G11 + class: outputs + ts_name: Warning LED (G11) + + - id: G12 + class: outputs + ts_name: Error LED (G12) + + - id: G13 + class: outputs + ts_name: Communication LED (G13) + + - id: C8 + class: outputs + ts_name: EGT1 CS (C8) + + - id: C9 + class: outputs + ts_name: EGT2 CS (C9) + + - id: C10 + class: outputs + ts_name: SPI3 SCK (C10) + + - id: C11 + class: outputs + ts_name: SPI3 MISO (C11) + + - id: C12 + class: outputs + ts_name: SPI3 MOSI (C12) + + - id: B13 + class: outputs + ts_name: SPI2 SCK (B13) + + - id: B14 + class: outputs + ts_name: SPI2 MISO (B14) + + - id: B15 + class: outputs + ts_name: SPI2 MOSI (B15) + + - id: B10 + class: outputs + ts_name: BARO SCL (B10) + + - id: B11 + class: outputs + ts_name: BARO SDA (B11) + + - id: B3 + class: outputs + ts_name: SD CS1 (B3) + + - id: B4 + class: outputs + ts_name: SD CS2 (B4) + + - id: A9 + class: outputs + ts_name: USART1 TX (A9) + + - id: A10 + class: outputs + ts_name: USART1 RX (A10) + + - id: G9 + class: outputs + ts_name: USART6 RX (G9) + + - id: G14 + class: outputs + ts_name: USART6 TX (G14) + + - id: D0 + class: outputs + ts_name: CAN 1 RX (D0) + + - id: D1 + class: outputs + ts_name: CAN 1 TX (D1) + + - id: B5 + class: outputs + ts_name: CAN 2 RX (B5) + + - id: B6 + class: outputs + ts_name: CAN 2 TX (B6) \ No newline at end of file diff --git a/firmware/config/boards/core48/connectors/readme.md b/firmware/config/boards/core48/connectors/readme.md new file mode 100644 index 0000000000..0494aa0247 --- /dev/null +++ b/firmware/config/boards/core48/connectors/readme.md @@ -0,0 +1,256 @@ + + +# CORE 48 v2.1 + +![image](https://github.com/opelpanfan/CORE48/assets/12942077/5bdb0bb8-2ab7-4919-9121-8c81560b6320) + +## Features + +- 8 Injectors +- 8 Coils +- 8 Low Side Switch +- 4 VR / 8 Hall Triggers +- 4 Digital Inputs +- 8 Analogue 0-5v inputs (all can be used as temperature inputs via 2.49k pull up resistor SW10 and SW11) +- DBW +- 2 Wideband (14point7) +- 2 Canbus +- 2 EGT +- 4bar map +- Onboard Barometer +- Onboard SD card/Removable SD Card +- Bluetooth + +## Firmware + +
+ + + rusEFI + +
+GPL open-source ECU +
+
+ +## Interactive Pinout Manual + +https://opelpanfan.github.io/CORE48/core48_21.html + +### Black Connector + +
+ + black + +
+ +| Pin Number | STM32 Pin Number | TS Name | Typical Function | Alternative Function #1 | Alternative Function #2 | +| ------ | ------ | ------ | ------ | ------ | ------ | +| A1 | PG3 | Low Side 12 (G3) | FUEL PUMP | | | +| A2 | PG4 | Low Side 13 (G4) | FAN RELAY | | | +| A3 | PG5 | Low Side 14 (G5) | BOOST | | | +| A4 | PG6 | Low Side 15 (G6) | IDLE | | | +| A5 | | | LSU HEATER- | LSU 4.9 CONNECTOR PIN 3 | WHITE WIRE | +| A6 | | | LSU IA | LSU 4.9 CONNECTOR PIN 5 | GREEN WIRE | +| A7 | | | LSU VGND | LSU 4.9 CONNECTOR PIN 2 | YELLOW WIRE | +| A8 | | | LSU HEATER+ | LSU 4.9 CONNECTOR PIN 4 | GREY WIRE | +| B1 | | Switch SW5 | DBW+ | Low Side 11 (G2) | | +| B2 | | Switch SW4 | CAN LOW | Digital Input 1 (D5) | USB D+ | +| B3 | | Switch SW3 | CAN HIGH | Digital Input 2 (D4) | USB D- | +| B4 | | Switch SW2 | Digital Input 4 (D2) | Analogue Input 8 (A4) | Knock 1 (C0) | +| B5 | | Switch SW1 | Digital Input 3 (D3) | Analogue Input 9 (A1) | Knock 2 (C1) | +| B6 | | | LSU NERMEST | LSU 4.9 CONNECTOR PIN 6 | BLACK WIRE | +| B7 | | | LSU IP | LSU 4.9 CONNECTOR PIN 1 | RED WIRE | +| B8 | | +12V from Battery | +12V Battery | | | +| C1 | | Switch SW6 | DBW- | Low Side 10 (D15) | | +| C2 | PE2 | VR1+ | VR1+ | HALL 1 (PG1) | | +| C3 | | VR1- | VR1- | HALL 2 (PE7) | | +| C4 | | VR2- | VR2- | HALL 4 (PE8) | | +| C5 | PE3 | VR2+ | VR2+ | HALL 3 (PE9) | | +| C6 | PG7 | Low Side 16 (G7) | VVTI | | | +| C7 | | Sensor +5v Supply | Sensor +5v Supply | | | +| C8 | | Ground | Ground | | | + +### Grey Connector + + +
+ + grey + +
+ +| Pin Number | STM32 Pin Number | TS Name | Typical Function | Alternative Function #1 | +| ------ | ------ | ------ | ------ | ------ | +| A1 | PD6 | Low Side 1 (D6) |INJECTOR 1 | | +| A2 | PD7 | Low Side 2 (D7) |INJECTOR 2 | | +| A3 | PD8 | Low Side 3 (D8) |INJECTOR 3 | | +| A4 | PD9 | Low Side 4 (D9) |INJECTOR 4 | | +| A5 | PD10 | Low Side 5 (D10) |INJECTOR 5 | | +| A6 | PD11 | Low Side 6 (D11) |INJECTOR 6 | | +| A7 | PD12 | Low Side 7 (D12) |INJECTOR 7 | | +| A8 | PD13 | Low Side 8 (D13) |INJECTOR 8 | | +| B1 | PG15 | High Side 1 (G15) |COIL 1 | +5v or +12v signal depends on selection | +| B2 | PG8 | High Side 2 (G8) |COIL 2 | +5v or +12v signal depends on selection | +| B3 | PE10 | High Side 3 (E10) |COIL 3 | +5v or +12v signal depends on selection | +| B4 | PE11 | High Side 4 (E11) |COIL 4 | +5v or +12v signal depends on selection | +| B5 | PE12 | High Side 5 (E12) |COIL 5 | +5v or +12v signal depends on selection | +| B6 | PE13 | High Side 6 (E13) |COIL 6 | +5v or +12v signal depends on selection | +| B7 | PE14 | High Side 7 (E14) |COIL 7 | +5v or +12v signal depends on selection | +| B8 | PE15 | High Side 8 (E15) |COIL 8 | | +| C1 | PC5 | Analog Inputs 1 (C5) |TPS | | +| C2 | PB0 | Analog Inputs 2 (B0) |CLT | turn SW10 B0 ON to enable 2.49k PULL UP | +| C3 | PA7 | Analog Inputs 3 (A7) |IAT | turn SW10 A7 ON to enable 2.49k PULL UP | +| C4 | PC4 | Analog Inputs 4 (C4) |OIL PRESSURE | HALL 4 (PE8) | +| C5 | PA5 | Analog Inputs 5 (A5) |FUEL PRESSURE | HALL 3 (PE9) | +| C6 | PA6 | Analog Inputs 6 (A6) |SPARE ANALOG INPUT| | +| C7 | PA3 | Analog Inputs 7 (A3) |SPARE ANALOG INPUT| | +| C8 | PD14 | High Side 9 (D14) |TACHO | PULLUP +5v or +12v depends on selection | + + +## PCB Layout + +### :warning: **Please check the connector pinout table as some silk prints on the PCB are wrong.** + +![image](https://github.com/opelpanfan/CORE48/assets/12942077/3469a74a-7623-40d8-a7de-25a0a55c2823) + +## Solder jumper configuration + +| Switch ID | Link to Connector | Image | RED | BLUE | GREEN | +| ------ | ------ | ------ | ------ | ------ | ------ | +| SW1 | B_B5 | ![image](https://github.com/opelpanfan/CORE48/assets/12942077/1757576a-7584-4ea2-9035-57acbbaf3b19) | Knock 2 (C1) | Analog Inputs 9 (A1) | Digital Input 3 (D3) | +| SW2 | B_C6 | ![image](https://github.com/opelpanfan/CORE48/assets/12942077/1b31a344-36ec-4790-a561-0a1140de30eb) | Digital Input 4 (D2) | Analog Inputs 8 (A4) | Knock 1 (C0) | +| SW3 | B_B3 | ![image](https://github.com/opelpanfan/CORE48/assets/12942077/711358c0-e6ea-4739-a8e7-d2e205c731dd) | USB D+ | Digital Input 1 (D5) | CAN LOW | +| SW4 | B_B2 | ![image](https://github.com/opelpanfan/CORE48/assets/12942077/13c2c3d5-92b9-4165-abd7-87adfbc2b485) | CAN HIGH | Digital Input 2 (D4) | USB D- | +| SW5 | B_B1 | ![image](https://github.com/opelpanfan/CORE48/assets/12942077/f82bcf90-6858-464f-9b6d-c5ac517da40f) | Low Side 11 (G2) | DBW+ | | +| SW6 | B_C1 | ![image](https://github.com/opelpanfan/CORE48/assets/12942077/f0aa1e6a-c734-4d53-98a2-01fd3d8e0ee6) | Low Side 10 (D15) | DBW- | | +| SW7 | B_C8 | ![image](https://github.com/opelpanfan/CORE48/assets/12942077/4ac00500-5d3b-4104-9123-b3110029daaf) | TACHO PULL UP to +12v | TACHO PULL UP to +5v | | +| SW8 | COIL Signal | ![image](https://github.com/opelpanfan/CORE48/assets/12942077/ce27c313-928a-4be8-b1f0-466bbbb1c55b) | COIL Trigger +12v | COIL Trigger +5v | | + +### VR Trigger Configuration + +![image](https://github.com/opelpanfan/CORE48/assets/12942077/76f164eb-7be7-466e-9e0a-0189acd6b181) + +### HALL Trigger Configuration + +![image](https://github.com/opelpanfan/CORE48/assets/12942077/5c0ed98f-dc9c-4850-972a-7a3a368713a3) + +### SW10 and SW11: Analogue input PULLUP resistors (2.49k) to +5V for Temperature Sensor + +>Analogue input pull up settings to use for temperature inputs: +>Most of Analogue inputs can be used as temperature inputs with 2.49Kohm pull up to +5v resistors. +>These resistors can be enabled by flipping toggle switch to ON position. + +![image](https://github.com/opelpanfan/CORE48/assets/12942077/feb964ff-f6d2-4a99-856c-991d7fd84f30) + +### SW12 Digital Input PULLUP resistors (680k) to +5v + +>Digital input 680kohm pull up resistors to +5v. +>If your digital input requires pull up resistor taht can be enabled by flipping toggle switch to ON possition. + +![image](https://github.com/opelpanfan/CORE48/assets/12942077/7b24b38e-0779-4887-ad61-4abda1b18171) + +### SW9 CAN bus terminator Resistors and Knock Audio Filters + +>1. toggle switch is to ON possition to enable 120ohm terminating resistor on CAN1 +>2. toggle switch is to ON possition to enable 120ohm terminating resistor on CAN2 +>3. toggle switch is to ON possition to enable 3.3nF filter capacitor on KNOCK 1 Input +>4. toggle switch is to ON possition to enable 3.3nF filter capacitor on KNOCK 2 Input + +![image](https://github.com/opelpanfan/CORE48/assets/12942077/d3dc0053-40e4-4aa0-af15-56401b117058) + +## Additional Connectors + +![image](https://github.com/opelpanfan/CORE48/assets/12942077/232973ae-c908-4171-bbfc-a493dfd78635) + + +### CAN Connector +![image](https://github.com/opelpanfan/CORE48/assets/12942077/1f331c42-2952-4920-9695-7dd1e4caabf2) + +| Pin | STM32 PIN | Function | +| ------ | ------ | ------ | +| 1 | | CAN 1 LOW | +| 2 | | CAN 1 HIGH | +| 3 | | CAN 2 LOW | +| 4 | | CAN 2 HIGH | + +### USB Connector +![image](https://github.com/opelpanfan/CORE48/assets/12942077/d67afd6f-4710-4ef0-bb53-0fb0c96deeb1) + +| Pin | STM32 PIN | Function | +| ------ | ------ | ------ | +| 1 | | USB +5V | +| 2 | | USB D- | +| 3 | | USB D+ | +| 4 | | GND | + +### Stepper Connector +![image](https://github.com/opelpanfan/CORE48/assets/12942077/c8108ecd-139e-4c5d-8e20-70fbb49c9b4d) + +| Pin | STM32 PIN | Function | +| ------ | ------ | ------ | +| 1 | | STEP 1B | +| 2 | | STEP 1A | +| 3 | | STEP 2A | +| 4 | | STEP 2B | + +### VR3/VR4 Connector +![image](https://github.com/opelpanfan/CORE48/assets/12942077/c49c41fe-d15f-4377-80a0-b8a9ff652205) + +| Pin | STM32 PIN | Function | +| ------ | ------ | ------ | +| 1 | PE4/PF13 | VR3+/HALL5 (F13) | +| 2 | PF14 | VR3-/HALL6 (F14) | +| 3 | PF15 | VR4-/HALL8 (F15) | +| 4 | PE5/PG0 | VR4+/HALL7 (G0) | + +### EGT Connector +![image](https://github.com/opelpanfan/CORE48/assets/12942077/1dcf5bb6-c38a-41e1-8293-b87aee4d508b) + +| Pin | STM32 PIN | Function | +| ------ | ------ | ------ | +| 1 | | EGT1 T- | +| 2 | | EGT1 T+ | +| 3 | | EGT2 T- | +| 4 | | EGT2 T+ | + +### Knock/Serial Connector +![image](https://github.com/opelpanfan/CORE48/assets/12942077/24d01a55-a5b8-459b-b840-11c136f379a0) + +| Pin | STM32 PIN | Function | +| ------ | ------ | ------ | +| 1 | | UART6 RX | +| 2 | | UART6 TX | +| 3 | | KNOCK 2 Audio | +| 4 | | KNOCK 1 Audio | + +### DBW Connector +![image](https://github.com/opelpanfan/CORE48/assets/12942077/c65efae5-5758-409d-acdc-784bcb1f960b) + +| Pin | STM32 PIN | Function | +| ------ | ------ | ------ | +| 1 | | GND | +| 2 | | +5V | +| 3 | | ET- | +| 4 | | ET+ | +| 5 | | Analog Inputs 8 (A4) | +| 6 | | Analog Inputs 9 (A1) | + +### LSU Connector + +![image](https://github.com/opelpanfan/CORE48/assets/12942077/63d5e15a-5c4e-44d1-8edd-1df03da7e6d4) +![image](https://github.com/opelpanfan/CORE48/assets/12942077/05f5cd9a-93ac-4810-8be9-47d00f090758) + +| Pin | STM32 PIN | Function | +| ------ | ------ | ------ | +| 1 | | LSU Connector 4 | +| 2 | | LSU Connector 3 | +| 3 | | LSU Connector 2 | +| 4 | | LSU Connector 1 | +| 5 | | LSU Connector 6 | +| 6 | | LSU Connector 5 | + + + + diff --git a/firmware/config/boards/core48/knock_config.h b/firmware/config/boards/core48/knock_config.h new file mode 100644 index 0000000000..0d7472034e --- /dev/null +++ b/firmware/config/boards/core48/knock_config.h @@ -0,0 +1,21 @@ +/** + * @file knock_config.h + */ + +#pragma once + +// Knock is on ADC3 +#define KNOCK_ADC ADCD3 + +// knock 1 - pin PC0 +#define KNOCK_ADC_CH1 ADC_CHANNEL_IN10 +#define KNOCK_PIN_CH1 Gpio::C0 + +// knock 2 - pin PC1 +#define KNOCK_HAS_CH2 true +#define KNOCK_ADC_CH2 ADC_CHANNEL_IN11 +#define KNOCK_PIN_CH2 Gpio::C1 + +// Sample rate & time - depends on the exact MCU +#define KNOCK_SAMPLE_TIME ADC_SAMPLE_84 +#define KNOCK_SAMPLE_RATE (STM32_PCLK2 / (4 * (84 + 12))) \ No newline at end of file diff --git a/firmware/config/boards/BB_V2/prepend.txt b/firmware/config/boards/core48/prepend.txt similarity index 60% rename from firmware/config/boards/BB_V2/prepend.txt rename to firmware/config/boards/core48/prepend.txt index 115f4e7219..abb089862b 100644 --- a/firmware/config/boards/BB_V2/prepend.txt +++ b/firmware/config/boards/core48/prepend.txt @@ -1,4 +1,9 @@ +#define ts_show_hip9011 false +#define ts_show_cj125 false +#define ts_show_lcd false +#define ts_show_joystick false +#define ts_show_gps false #define ts_show_software_knock true #define show_test_presets true diff --git a/firmware/config/boards/core8/compile_core8.sh b/firmware/config/boards/core8/compile_core8.sh index e4624b8e6c..42b750dfc1 100644 --- a/firmware/config/boards/core8/compile_core8.sh +++ b/firmware/config/boards/core8/compile_core8.sh @@ -1,3 +1,5 @@ #!/bin/bash -bash ../common_make.sh core8 ARCH_STM32F4 \ No newline at end of file +export USE_OPENBLT=yes + +bash ../common_make.sh core8 ARCH_STM32F4 diff --git a/firmware/config/boards/coreECU/Kompiluj_autogen_pliki.bat b/firmware/config/boards/coreECU/Kompiluj_autogen_pliki.bat deleted file mode 100644 index 830e4a7984..0000000000 --- a/firmware/config/boards/coreECU/Kompiluj_autogen_pliki.bat +++ /dev/null @@ -1,19 +0,0 @@ -@echo off - -cd ../../../ -call gen_config.bat -call gen_config_board.bat -call gen_config_common.sh -call gen_config_default.sh -call gen_default_everything.sh -call gen_enum_to_string.bat -call gen_live_documentation.bat -call gen_output_channels.sh -call gen_ptrace_enums.bat -call gen_signature.sh -call generate_docs.bat - - - - - diff --git a/firmware/config/boards/coreECU/To_make_ini_file_auto.txt b/firmware/config/boards/coreECU/To_make_ini_file_auto.txt deleted file mode 100644 index 58d60c99a4..0000000000 --- a/firmware/config/boards/coreECU/To_make_ini_file_auto.txt +++ /dev/null @@ -1,2 +0,0 @@ -w folderze /firmware -gen_config_board.sh BB_V3 BB_V3 \ No newline at end of file diff --git a/firmware/config/boards/coreECU/board.h b/firmware/config/boards/coreECU/board.h deleted file mode 100644 index c4492df819..0000000000 --- a/firmware/config/boards/coreECU/board.h +++ /dev/null @@ -1,494 +0,0 @@ -/** - * @file boards/coreECU/board.h - * - * @date Feb 06, 2022 - * @author Mariusz Podgajny, 2022 - */ - -#define BOARD_NAME "CORE_ECU" - -#ifndef BOARD_IO_H -#define BOARD_IO_H - -#define EFI_USB_AF 10U -#define EFI_USB_SERIAL_DM Gpio::A11 -#define EFI_USB_SERIAL_DP Gpio::A12 - -#define EFI_USE_OSC TRUE - -#define EFI_CAN_SUPPORT TRUE -#define CAN_USE_SLEEP_MODE FALSE - -#undef EFI_FILE_LOGGING -#define EFI_FILE_LOGGING TRUE - -#undef EFI_SDC_DEVICE -#define EFI_SDC_DEVICE SDCD1 - -#undef EFI_ICU_INPUTS -#define EFI_ICU_INPUTS FALSE - -#undef HAL_TRIGGER_USE_PAL -#define HAL_TRIGGER_USE_PAL TRUE - -#undef EFI_LOGIC_ANALYZER -#define EFI_LOGIC_ANALYZER FALSE - -#undef HAL_VSS_USE_PAL -#define HAL_VSS_USE_PAL TRUE - -#ifndef LED_CRITICAL_ERROR_BRAIN_PIN -#define LED_CRITICAL_ERROR_BRAIN_PIN Gpio::Unassigned -#endif - -// Ignore USB VBUS pin (we're never a host, only a device) -#define BOARD_OTG_NOVBUSSENS TRUE - -/* - * Board oscillators-related settings. - * NOTE: LSE not fitted. - */ -#if !defined(STM32_LSECLK) -#define STM32_LSECLK 32768U -#endif - -#define STM32_LSEDRV (3U << 3U) - -/* - * Board voltages. - * Required for performance limits calculation. - */ -#define STM32_VDD 300U - - -#define EFI_PIN_MODE_DEFAULT PIN_MODE_INPUT -#ifndef EFI_DR_DEFAULT -#define EFI_DR_DEFAULT PIN_PUPDR_PULLDOWN -#endif - -// See https://github.com/rusefi/rusefi/issues/397 -#define DEFAULT_GPIO_SPEED PIN_OSPEED_HIGH - - -/* - * I/O ports initial setup, this configuration is established soon after reset - * in the initialization code. - * Please refer to the STM32 Reference Manual for details. - */ -#define PIN_MODE_INPUT(n) (0U << ((n) * 2U)) -#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U)) -#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U)) -#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U)) -#define PIN_ODR_LOW(n) (0U << (n)) -#define PIN_ODR_HIGH(n) (1U << (n)) -#define PIN_OTYPE_PUSHPULL(n) (0U << (n)) -#define PIN_OTYPE_OPENDRAIN(n) (1U << (n)) -#define PIN_OSPEED_VERYLOW(n) (0U << ((n) * 2U)) -#define PIN_OSPEED_LOW(n) (1U << ((n) * 2U)) -#define PIN_OSPEED_MEDIUM(n) (2U << ((n) * 2U)) -#define PIN_OSPEED_HIGH(n) (3U << ((n) * 2U)) -#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U)) -#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U)) -#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U)) -#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U)) - -#define VAL_GPIO_MODER_ALL_DEFAULT (EFI_PIN_MODE_DEFAULT(0) | \ - EFI_PIN_MODE_DEFAULT(1) | \ - EFI_PIN_MODE_DEFAULT(2) | \ - EFI_PIN_MODE_DEFAULT(3) | \ - EFI_PIN_MODE_DEFAULT(4) | \ - EFI_PIN_MODE_DEFAULT(5) | \ - EFI_PIN_MODE_DEFAULT(6) | \ - EFI_PIN_MODE_DEFAULT(7) | \ - EFI_PIN_MODE_DEFAULT(8) | \ - EFI_PIN_MODE_DEFAULT(9) | \ - EFI_PIN_MODE_DEFAULT(10) | \ - EFI_PIN_MODE_DEFAULT(11) | \ - EFI_PIN_MODE_DEFAULT(12) | \ - EFI_PIN_MODE_DEFAULT(13) | \ - EFI_PIN_MODE_DEFAULT(14) | \ - EFI_PIN_MODE_DEFAULT(15)) - -#define VAL_GPIO_OTYPER_ALL_DEFAULT (PIN_OTYPE_PUSHPULL(0) | \ - PIN_OTYPE_PUSHPULL(1) | \ - PIN_OTYPE_PUSHPULL(2) | \ - PIN_OTYPE_PUSHPULL(3) | \ - PIN_OTYPE_PUSHPULL(4) | \ - PIN_OTYPE_PUSHPULL(5) | \ - PIN_OTYPE_PUSHPULL(6) | \ - PIN_OTYPE_PUSHPULL(7) | \ - PIN_OTYPE_PUSHPULL(8) | \ - PIN_OTYPE_PUSHPULL(9) | \ - PIN_OTYPE_PUSHPULL(10) | \ - PIN_OTYPE_PUSHPULL(11) | \ - PIN_OTYPE_PUSHPULL(12) | \ - PIN_OTYPE_PUSHPULL(13) | \ - PIN_OTYPE_PUSHPULL(14) | \ - PIN_OTYPE_PUSHPULL(15)) - -#define VAL_GPIO_OSPEEDR_ALL_DEFAULT (DEFAULT_GPIO_SPEED(0) | \ - DEFAULT_GPIO_SPEED(1) | \ - DEFAULT_GPIO_SPEED(2) | \ - DEFAULT_GPIO_SPEED(3) | \ - DEFAULT_GPIO_SPEED(4) | \ - DEFAULT_GPIO_SPEED(5) | \ - DEFAULT_GPIO_SPEED(6) | \ - DEFAULT_GPIO_SPEED(7) | \ - DEFAULT_GPIO_SPEED(8) | \ - DEFAULT_GPIO_SPEED(9) | \ - DEFAULT_GPIO_SPEED(10) | \ - DEFAULT_GPIO_SPEED(11) | \ - DEFAULT_GPIO_SPEED(12) | \ - DEFAULT_GPIO_SPEED(13) | \ - DEFAULT_GPIO_SPEED(14) | \ - DEFAULT_GPIO_SPEED(15)) - -#define VAL_GPIO_ODR_ALL_DEFAULT 0 - -#define VAL_GPIO_PUPDR_ALL_DEFAULT (EFI_DR_DEFAULT(0) | \ - EFI_DR_DEFAULT(1) | \ - EFI_DR_DEFAULT(2) | \ - EFI_DR_DEFAULT(3) | \ - EFI_DR_DEFAULT(4) | \ - EFI_DR_DEFAULT(5) | \ - EFI_DR_DEFAULT(6) | \ - EFI_DR_DEFAULT(7) | \ - EFI_DR_DEFAULT(8) | \ - EFI_DR_DEFAULT(9) | \ - EFI_DR_DEFAULT(10) | \ - EFI_DR_DEFAULT(11) | \ - EFI_DR_DEFAULT(12) | \ - EFI_DR_DEFAULT(13) | \ - EFI_DR_DEFAULT(14) | \ - EFI_DR_DEFAULT(15)) - -#define VAL_GPIO_AF_ALL_DEFAULT (PIN_AFIO_AF(0, 0U) | \ - PIN_AFIO_AF(1, 0U) | \ - PIN_AFIO_AF(2, 0U) | \ - PIN_AFIO_AF(3, 0U) | \ - PIN_AFIO_AF(4, 0U) | \ - PIN_AFIO_AF(5, 0U) | \ - PIN_AFIO_AF(6, 0U) | \ - PIN_AFIO_AF(7, 0U)) - - -#define VAL_GPIOA_MODER (EFI_PIN_MODE_DEFAULT(0) | \ - EFI_PIN_MODE_DEFAULT(1) | \ - EFI_PIN_MODE_DEFAULT(2) | \ - EFI_PIN_MODE_DEFAULT(3) | \ - EFI_PIN_MODE_DEFAULT(4) | \ - EFI_PIN_MODE_DEFAULT(5) | \ - EFI_PIN_MODE_DEFAULT(6) | \ - EFI_PIN_MODE_DEFAULT(7) | \ - EFI_PIN_MODE_DEFAULT(8) | \ - EFI_PIN_MODE_DEFAULT(9) | \ - EFI_PIN_MODE_DEFAULT(10) | \ - EFI_PIN_MODE_DEFAULT(11) | \ - EFI_PIN_MODE_DEFAULT(12) | \ - PIN_MODE_ALTERNATE(13) | \ - PIN_MODE_ALTERNATE(14) | \ - EFI_PIN_MODE_DEFAULT(15)) -#define VAL_GPIOA_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOA_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOA_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOA_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOA_AFRL (PIN_AFIO_AF(0, 0U) | \ - PIN_AFIO_AF(1, 0U) | \ - PIN_AFIO_AF(2, 0U) | \ - PIN_AFIO_AF(3, 0U) | \ - PIN_AFIO_AF(4, 6U) | \ - PIN_AFIO_AF(5, 5U) | \ - PIN_AFIO_AF(6, 5U) | \ - PIN_AFIO_AF(7, 5U)) -#define VAL_GPIOA_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOB setup: - */ -#define VAL_GPIOB_MODER (EFI_PIN_MODE_DEFAULT(0) | \ - EFI_PIN_MODE_DEFAULT(1) | \ - EFI_PIN_MODE_DEFAULT(2) | \ - EFI_PIN_MODE_DEFAULT(3) | \ - EFI_PIN_MODE_DEFAULT(4) | \ - EFI_PIN_MODE_DEFAULT(5) | \ - EFI_PIN_MODE_DEFAULT(6) | \ - EFI_PIN_MODE_DEFAULT(7) | \ - EFI_PIN_MODE_DEFAULT(8) | \ - EFI_PIN_MODE_DEFAULT(9) | \ - EFI_PIN_MODE_DEFAULT(10) | \ - EFI_PIN_MODE_DEFAULT(11) | \ - EFI_PIN_MODE_DEFAULT(12) | \ - EFI_PIN_MODE_DEFAULT(13) | \ - EFI_PIN_MODE_DEFAULT(14) | \ - EFI_PIN_MODE_DEFAULT(15)) -#define VAL_GPIOB_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOB_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOB_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOB_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOB_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOB_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOC setup: - - * 8 BIT MODE - * PC8 - MMC D0 - * PC9 - MMC D1 - * PC10 - MMC D2 - * PC11 - MMC D3 - * PC12 - CLK - - * 1 BIT MODE - * PC8 - MMC D0 - * PC12 - CLK - - * NOW IS SETUP FOR 1 BIT SDIO -*/ -#define VAL_GPIOC_MODER (EFI_PIN_MODE_DEFAULT(0) | \ - EFI_PIN_MODE_DEFAULT(1) | \ - EFI_PIN_MODE_DEFAULT(2) | \ - EFI_PIN_MODE_DEFAULT(3) | \ - EFI_PIN_MODE_DEFAULT(4) | \ - EFI_PIN_MODE_DEFAULT(5) | \ - EFI_PIN_MODE_DEFAULT(6) | \ - EFI_PIN_MODE_DEFAULT(7) | \ - PIN_MODE_ALTERNATE(8) | \ - EFI_PIN_MODE_DEFAULT(9) | \ - EFI_PIN_MODE_DEFAULT(10) | \ - EFI_PIN_MODE_DEFAULT(11) | \ - PIN_MODE_ALTERNATE(12) | \ - EFI_PIN_MODE_DEFAULT(13) | \ - EFI_PIN_MODE_DEFAULT(14) | \ - EFI_PIN_MODE_DEFAULT(15)) -#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL( 0) | \ - PIN_OTYPE_PUSHPULL( 1) | \ - PIN_OTYPE_PUSHPULL( 2) | \ - PIN_OTYPE_PUSHPULL( 3) | \ - PIN_OTYPE_PUSHPULL( 4) | \ - PIN_OTYPE_PUSHPULL( 5) | \ - PIN_OTYPE_PUSHPULL( 6)| \ - PIN_OTYPE_PUSHPULL( 7)| \ - PIN_OTYPE_PUSHPULL( 8)| \ - PIN_OTYPE_PUSHPULL( 9) | \ - PIN_OTYPE_PUSHPULL(10) | \ - PIN_OTYPE_PUSHPULL(11) | \ - PIN_OTYPE_PUSHPULL(12) | \ - PIN_OTYPE_PUSHPULL(13) | \ - PIN_OTYPE_PUSHPULL(14)| \ - PIN_OTYPE_PUSHPULL(15)) -#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_HIGH( 0) | \ - PIN_OSPEED_HIGH( 1) | \ - PIN_OSPEED_HIGH( 2) | \ - PIN_OSPEED_HIGH( 3) | \ - PIN_OSPEED_HIGH( 4) | \ - PIN_OSPEED_HIGH( 5) | \ - PIN_OSPEED_HIGH( 6) | \ - PIN_OSPEED_HIGH( 7) | \ - PIN_OSPEED_HIGH( 8) | \ - PIN_OSPEED_HIGH( 9) | \ - PIN_OSPEED_HIGH(10) | \ - PIN_OSPEED_HIGH(11) | \ - PIN_OSPEED_HIGH(12) | \ - PIN_OSPEED_HIGH(13) | \ - PIN_OSPEED_HIGH(14) | \ - PIN_OSPEED_HIGH(15)) -#define VAL_GPIOC_PUPDR (PIN_PUPDR_FLOATING( 0) | \ - PIN_PUPDR_PULLDOWN( 1) | \ - PIN_PUPDR_PULLDOWN( 2) | \ - PIN_PUPDR_PULLDOWN( 3) | \ - PIN_PUPDR_PULLDOWN( 4) | \ - PIN_PUPDR_PULLDOWN( 5) | \ - PIN_PUPDR_PULLDOWN( 6) | \ - PIN_PUPDR_PULLDOWN( 7) | \ - PIN_PUPDR_PULLDOWN( 8) | \ - PIN_PUPDR_PULLDOWN( 9) | \ - PIN_PUPDR_PULLDOWN(10) | \ - PIN_PUPDR_PULLDOWN(11) | \ - PIN_PUPDR_PULLDOWN(12) | \ - PIN_PUPDR_PULLDOWN(13) | \ - PIN_PUPDR_PULLDOWN(14) | \ - PIN_PUPDR_PULLDOWN(15)) -#define VAL_GPIOC_ODR (PIN_ODR_HIGH(0) | \ - PIN_ODR_HIGH(2) | \ - PIN_ODR_HIGH(3) | \ - PIN_ODR_HIGH(6) | \ - PIN_ODR_HIGH(7) | \ - PIN_ODR_HIGH(8) | \ - PIN_ODR_HIGH(9) | \ - PIN_ODR_HIGH(10) | \ - PIN_ODR_HIGH(11) | \ - PIN_ODR_HIGH(12) | \ - PIN_ODR_HIGH(14)) -#define VAL_GPIOC_AFRL (PIN_AFIO_AF( 0, 0U) | \ - PIN_AFIO_AF( 1, 0U) | \ - PIN_AFIO_AF( 2, 0U) | \ - PIN_AFIO_AF( 3, 0U) | \ - PIN_AFIO_AF( 4, 0U) | \ - PIN_AFIO_AF( 5, 0U) | \ - PIN_AFIO_AF( 6, 0U) | \ - PIN_AFIO_AF( 7, 0U)) -#define VAL_GPIOC_AFRH (PIN_AFIO_AF( 8, 12U) | \ - PIN_AFIO_AF( 9, 0U) | \ - PIN_AFIO_AF(10, 0U) | \ - PIN_AFIO_AF(11, 0U) | \ - PIN_AFIO_AF(12, 12U) | \ - PIN_AFIO_AF(13, 0U) | \ - PIN_AFIO_AF(14, 0U) | \ - PIN_AFIO_AF(15, 0U)) - -/* - * GPIOD setup: - * PD0 - CAN RX - * PD1 - CAN TX - * PD2 - CMD - */ - -#define VAL_GPIOD_MODER (PIN_MODE_ALTERNATE(0) | \ - PIN_MODE_ALTERNATE(1) | \ - PIN_MODE_ALTERNATE(2) | \ - EFI_PIN_MODE_DEFAULT(3) | \ - EFI_PIN_MODE_DEFAULT(4) | \ - EFI_PIN_MODE_DEFAULT(5) | \ - EFI_PIN_MODE_DEFAULT(6) | \ - EFI_PIN_MODE_DEFAULT(7) | \ - EFI_PIN_MODE_DEFAULT(8) | \ - EFI_PIN_MODE_DEFAULT(9) | \ - EFI_PIN_MODE_DEFAULT(10) | \ - EFI_PIN_MODE_DEFAULT(11) | \ - EFI_PIN_MODE_DEFAULT(12) | \ - EFI_PIN_MODE_DEFAULT(13) | \ - EFI_PIN_MODE_DEFAULT(14) | \ - EFI_PIN_MODE_DEFAULT(15)) -#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL( 0) | \ - PIN_OTYPE_PUSHPULL( 1) | \ - PIN_OTYPE_PUSHPULL( 2) | \ - PIN_OTYPE_PUSHPULL( 3) | \ - PIN_OTYPE_PUSHPULL( 4) | \ - PIN_OTYPE_PUSHPULL( 5) | \ - PIN_OTYPE_PUSHPULL( 6)| \ - PIN_OTYPE_PUSHPULL( 7)| \ - PIN_OTYPE_PUSHPULL( 8)| \ - PIN_OTYPE_PUSHPULL( 9) | \ - PIN_OTYPE_PUSHPULL(10) | \ - PIN_OTYPE_PUSHPULL(11) | \ - PIN_OTYPE_PUSHPULL(12) | \ - PIN_OTYPE_PUSHPULL(13) | \ - PIN_OTYPE_PUSHPULL(14)| \ - PIN_OTYPE_PUSHPULL(15)) -#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_HIGH( 0) | \ - PIN_OSPEED_HIGH( 1) | \ - PIN_OSPEED_HIGH( 2) | \ - PIN_OSPEED_HIGH( 3) | \ - PIN_OSPEED_HIGH( 4) | \ - PIN_OSPEED_HIGH( 5) | \ - PIN_OSPEED_HIGH( 6) | \ - PIN_OSPEED_HIGH( 7) | \ - PIN_OSPEED_HIGH( 8) | \ - PIN_OSPEED_HIGH( 9) | \ - PIN_OSPEED_HIGH(10) | \ - PIN_OSPEED_HIGH(11) | \ - PIN_OSPEED_HIGH(12) | \ - PIN_OSPEED_HIGH(13) | \ - PIN_OSPEED_HIGH(14) | \ - PIN_OSPEED_HIGH(15)) -#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLDOWN( 0) | \ - PIN_PUPDR_PULLDOWN( 1) | \ - PIN_PUPDR_PULLDOWN( 2) | \ - PIN_PUPDR_PULLDOWN( 3) | \ - PIN_PUPDR_PULLDOWN( 4) | \ - PIN_PUPDR_PULLDOWN( 5) | \ - PIN_PUPDR_PULLDOWN( 6) | \ - PIN_PUPDR_PULLDOWN( 7) | \ - PIN_PUPDR_PULLDOWN( 8) | \ - PIN_PUPDR_PULLDOWN( 9) | \ - PIN_PUPDR_PULLDOWN(10) | \ - PIN_PUPDR_PULLDOWN(11) | \ - PIN_PUPDR_PULLDOWN(12) | \ - PIN_PUPDR_PULLDOWN(13) | \ - PIN_PUPDR_PULLDOWN(14) | \ - PIN_PUPDR_PULLDOWN(15)) -#define VAL_GPIOD_ODR (PIN_ODR_LOW(0) | \ - PIN_ODR_LOW(1) | \ - PIN_ODR_LOW(2) | \ - PIN_ODR_LOW(3) | \ - PIN_ODR_LOW(6) | \ - PIN_ODR_LOW(7) | \ - PIN_ODR_LOW(8) | \ - PIN_ODR_LOW(9) | \ - PIN_ODR_LOW(10) | \ - PIN_ODR_LOW(11) | \ - PIN_ODR_LOW(12) | \ - PIN_ODR_LOW(14)) -#define VAL_GPIOD_AFRL (PIN_AFIO_AF( 0, 9U) | \ - PIN_AFIO_AF( 1, 9U) | \ - PIN_AFIO_AF( 2, 12U) | \ - PIN_AFIO_AF( 3, 0U) | \ - PIN_AFIO_AF( 4, 0U) | \ - PIN_AFIO_AF( 5, 0U) | \ - PIN_AFIO_AF( 6, 0U) | \ - PIN_AFIO_AF( 7, 0U)) -#define VAL_GPIOD_AFRH (PIN_AFIO_AF( 8, 0U) | \ - PIN_AFIO_AF( 9, 0U) | \ - PIN_AFIO_AF(10, 12U) | \ - PIN_AFIO_AF(11, 12U) | \ - PIN_AFIO_AF(12, 12U) | \ - PIN_AFIO_AF(13, 0U) | \ - PIN_AFIO_AF(14, 0U) | \ - PIN_AFIO_AF(15, 0U)) - -/* - * GPIOE setup: - */ -#define VAL_GPIOE_MODER VAL_GPIO_MODER_ALL_DEFAULT -#define VAL_GPIOE_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOE_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOE_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOE_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOE_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOE_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOF setup: - */ -#define VAL_GPIOF_MODER VAL_GPIO_MODER_ALL_DEFAULT -#define VAL_GPIOF_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOF_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOF_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOF_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOF_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOF_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOG setup: - */ -#define VAL_GPIOG_MODER VAL_GPIO_MODER_ALL_DEFAULT -#define VAL_GPIOG_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOG_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOG_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOG_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOG_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOG_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOH setup: - */ -#define VAL_GPIOH_MODER VAL_GPIO_MODER_ALL_DEFAULT -#define VAL_GPIOH_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOH_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOH_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOH_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOH_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOH_AFRH VAL_GPIO_AF_ALL_DEFAULT - -/* - * GPIOI setup: - */ -#define VAL_GPIOI_MODER VAL_GPIO_MODER_ALL_DEFAULT -#define VAL_GPIOI_OTYPER VAL_GPIO_OTYPER_ALL_DEFAULT -#define VAL_GPIOI_OSPEEDR VAL_GPIO_OSPEEDR_ALL_DEFAULT -#define VAL_GPIOI_PUPDR VAL_GPIO_PUPDR_ALL_DEFAULT -#define VAL_GPIOI_ODR VAL_GPIO_ODR_ALL_DEFAULT -#define VAL_GPIOI_AFRL VAL_GPIO_AF_ALL_DEFAULT -#define VAL_GPIOI_AFRH VAL_GPIO_AF_ALL_DEFAULT - -#endif /* BOARD_IO_H */ diff --git a/firmware/config/boards/coreECU/board.mk b/firmware/config/boards/coreECU/board.mk deleted file mode 100644 index cbaf792e39..0000000000 --- a/firmware/config/boards/coreECU/board.mk +++ /dev/null @@ -1,16 +0,0 @@ -# List of all the board related files. -BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp - -# Override DEFAULT_ENGINE_TYPE -DDEFS += -DSTM32F407xx -DDEFS += -DSHORT_BOARD_NAME=BB_V3 -DDEFAULT_ENGINE_TYPE=MINIMAL_PINS -DDEFS += -DFIRMWARE_ID=\"BB_V3\" -DDEFS += -DLED_CRITICAL_ERROR_BRAIN_PIN=Gpio::Unassigned -DDEFS += -DHAL_TRIGGER_USE_PAL=TRUE -DDEFS += -DHAL_VSS_USE_PAL=TRUE - -DDEFS += -DSTM32_ADC_USE_ADC3=TRUE -DDEFS += -DEFI_SOFTWARE_KNOCK=TRUE - -# Hardware serial port on UART 2 -> PD5/PD6 LUB PC10/PC11 -EFI_CONSOLE_TTL_PINS = -DEFI_CONSOLE_TX_BRAIN_PIN=Gpio::C10 -DEFI_CONSOLE_RX_BRAIN_PIN=Gpio::C11 diff --git a/firmware/config/boards/coreECU/board_configuration.cpp b/firmware/config/boards/coreECU/board_configuration.cpp deleted file mode 100644 index 6ff0d8c018..0000000000 --- a/firmware/config/boards/coreECU/board_configuration.cpp +++ /dev/null @@ -1,145 +0,0 @@ -/** - * @file boards/coreECU/board_configuration.cpp - * - * @brief Configuration defaults for the coreECU board - * - * @author Turbo Marian, 2022 - */ - -#include "pch.h" - -static void setInjectorPins() { - engineConfiguration->injectionPins[0] = Gpio::D12; - engineConfiguration->injectionPins[1] = Gpio::D13; - engineConfiguration->injectionPins[2] = Gpio::D14; - engineConfiguration->injectionPins[3] = Gpio::D15; - engineConfiguration->injectionPins[4] = Gpio::C6; - engineConfiguration->injectionPins[5] = Gpio::C7; - engineConfiguration->injectionPins[6] = Gpio::C9; - engineConfiguration->injectionPins[7] = Gpio::A8; -} - -static void setIgnitionPins() { - engineConfiguration->ignitionPins[0] = Gpio::E15; - engineConfiguration->ignitionPins[1] = Gpio::E14; - engineConfiguration->ignitionPins[2] = Gpio::E13; - engineConfiguration->ignitionPins[3] = Gpio::E12; - engineConfiguration->ignitionPins[4] = Gpio::E11; - engineConfiguration->ignitionPins[5] = Gpio::E10; - engineConfiguration->ignitionPins[6] = Gpio::E9; - engineConfiguration->ignitionPins[7] = Gpio::E8; -} - - -void setSdCardConfigurationOverrides(void) { -} - -void setBoardConfigOverrides(void) { - - // TLE9201 driver - // This chip has three control pins: - // DIR - sets direction of the motor - // PWM - pwm control (enable high, coast low) - // DIS - disables motor (enable low) - - // Throttle #1 - // PWM pin - engineConfiguration->etbIo[0].controlPin = Gpio::E7; - // DIR pin - engineConfiguration->etbIo[0].directionPin1 = Gpio::B1; - // Disable pin - engineConfiguration->etbIo[0].disablePin = Gpio::B0; - // Unused - engineConfiguration->etbIo[0].directionPin2 = Gpio::Unassigned; - - // Throttle #2 - // PWM pin - engineConfiguration->etbIo[1].controlPin = Gpio::Unassigned; - // DIR pin - engineConfiguration->etbIo[1].directionPin1 = Gpio::Unassigned; - // Disable pin - engineConfiguration->etbIo[1].disablePin = Gpio::Unassigned; - // Unused - engineConfiguration->etbIo[1].directionPin2 = Gpio::Unassigned; - - // we only have pwm/dir, no dira/dirb - engineConfiguration->etb_use_two_wires = false; -} - -void setPinConfigurationOverrides(void) { - - //CAN 1 bus overwrites - engineConfiguration->canTxPin = Gpio::D1; - engineConfiguration->canRxPin = Gpio::D0; - - //CAN 2 bus overwrites - engineConfiguration->can2RxPin = Gpio::Unassigned; - engineConfiguration->can2TxPin = Gpio::Unassigned; -} - -/** - * @brief Board-specific configuration defaults. - * - * See also setDefaultEngineConfiguration - * - * @todo Add your board-specific code, if any. - */ -static void setupVbatt() { - // 5.6k high side/10k low side = 1.56 ratio divider - engineConfiguration->analogInputDividerCoefficient = 1.47f; - - // 6.34k high side/1k low side = 9.2 - engineConfiguration->vbattDividerCoeff = (6.34f / 1.0f); - - // Battery sense on PC4 - engineConfiguration->vbattAdcChannel = EFI_ADC_14; - - engineConfiguration->adcVcc = 3.3f; -} - -static void setupDefaultSensorInputs() { - - engineConfiguration->afr.hwChannel = EFI_ADC_6; - setEgoSensor(ES_14Point7_Free); - - engineConfiguration->clt.config.bias_resistor = 2490; - engineConfiguration->iat.config.bias_resistor = 2490; - - engineConfiguration->baroSensor.hwChannel = EFI_ADC_NONE; - - engineConfiguration->lps25BaroSensorScl = Gpio::Unassigned; - engineConfiguration->lps25BaroSensorSda = Gpio::Unassigned; -} - -// PE3 is error LED, configured in board.mk -Gpio getCommsLedPin() { - return Gpio::B8; -} - -Gpio getRunningLedPin() { - return Gpio::B7; -} - -Gpio getWarningLedPin() { - return Gpio::B6; -} - -void setBoardDefaultConfiguration(void) { - setInjectorPins(); - setIgnitionPins(); - setupVbatt(); - - - //engineConfiguration->sdCardPeriodMs = 50; - engineConfiguration->isSdCardEnabled = true; - - - engineConfiguration->canWriteEnabled = true; - engineConfiguration->canReadEnabled = true; - engineConfiguration->canSleepPeriodMs = 50; - - engineConfiguration->canBaudRate = B500KBPS; - engineConfiguration->can2BaudRate = B500KBPS; - - -} \ No newline at end of file diff --git a/firmware/config/boards/coreECU/compile_BB_V3ini.bat b/firmware/config/boards/coreECU/compile_BB_V3ini.bat deleted file mode 100644 index d9a73d56e3..0000000000 --- a/firmware/config/boards/coreECU/compile_BB_V3ini.bat +++ /dev/null @@ -1,10 +0,0 @@ -@echo off - -cd ../../../ -gen_config_board.sh coreECU coreECU - -pause - - - - diff --git a/firmware/config/boards/coreECU/compile_coreECU.bat b/firmware/config/boards/coreECU/compile_coreECU.bat deleted file mode 100644 index c48581aab2..0000000000 --- a/firmware/config/boards/coreECU/compile_coreECU.bat +++ /dev/null @@ -1,11 +0,0 @@ -@echo off - -cd ../../../ -make clean -j8 PROJECT_BOARD=coreECU -make -j8 PROJECT_BOARD=coreECU PROJECT_CPU=ARCH_STM32F4 -gen_config_board.sh coreECU coreECU -pause - - - - diff --git a/firmware/config/boards/coreECU/connectors/generated_ts_name_by_pin.cpp b/firmware/config/boards/coreECU/connectors/generated_ts_name_by_pin.cpp deleted file mode 100644 index effa8b89b7..0000000000 --- a/firmware/config/boards/coreECU/connectors/generated_ts_name_by_pin.cpp +++ /dev/null @@ -1,47 +0,0 @@ -//DO NOT EDIT MANUALLY, let automation work hard. - -// auto-generated by PinoutLogic.java based on config\boards\coreECU\connectors\main.yaml -#include "pch.h" - -// see comments at declaration in pin_repository.h -const char * getBoardSpecificPinName(brain_pin_e brainPin) { - switch(brainPin) { - case Gpio::A14: return "Camshaft Sensor"; - case Gpio::A15: return "Crankshaft Sensor"; - case Gpio::A8: return "Injector 8"; - case Gpio::B0: return "DBW_DIS"; - case Gpio::B1: return "DBW_DIR"; - case Gpio::B12: return "Tacho output"; - case Gpio::B13: return "Idle valve 1"; - case Gpio::B14: return "Low side output 2"; - case Gpio::B15: return "Low side output 3"; - case Gpio::B9: return "Digital Input 1"; - case Gpio::C6: return "Injector 5"; - case Gpio::C7: return "Injector 6"; - case Gpio::C9: return "Injector 7"; - case Gpio::D10: return "Boost controler"; - case Gpio::D11: return "Fuel pump output"; - case Gpio::D12: return "Injector 1"; - case Gpio::D13: return "Injector 2"; - case Gpio::D14: return "Injector 3"; - case Gpio::D15: return "Injector 4"; - case Gpio::D3: return "Spare trigger input"; - case Gpio::D4: return "VSS"; - case Gpio::D5: return "Digital Input 3"; - case Gpio::D6: return "Digital Input 4"; - case Gpio::D8: return "Low side output 1"; - case Gpio::D9: return "Fan output"; - case Gpio::E0: return "Digital Input 2"; - case Gpio::E10: return "Ignition 6"; - case Gpio::E11: return "Ignition 5"; - case Gpio::E12: return "Ignition 4"; - case Gpio::E13: return "Ignition 3"; - case Gpio::E14: return "Ignition 2"; - case Gpio::E15: return "Ignition 1"; - case Gpio::E7: return "DBW_PWM"; - case Gpio::E8: return "Ignition 8"; - case Gpio::E9: return "Ignition 7"; - default: return nullptr; - } - return nullptr; -} diff --git a/firmware/config/boards/coreECU/connectors/main.yaml b/firmware/config/boards/coreECU/connectors/main.yaml deleted file mode 100644 index 05d7dfe3b1..0000000000 --- a/firmware/config/boards/coreECU/connectors/main.yaml +++ /dev/null @@ -1,328 +0,0 @@ -pins: - # Low side outputs - - pin: 1 - id: D12 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 1 - - - pin: 2 - id: D13 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 2 - - - pin: 3 - id: D14 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 3 - - - pin: 4 - id: D15 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 4 - - - pin: 5 - id: C6 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 5 - - - pin: 6 - id: C7 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 6 - - - pin: 7 - id: C9 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 7 - - - pin: 8 - id: A8 - class: outputs - function: Low Side Output - type: inj - ts_name: Injector 8 - - # Low side - - - pin: 9 - id: D10 - class: outputs - function: Low Side Output - type: ls - ts_name: Boost controler - - - pin: 10 - id: B13 - class: outputs - function: Low Side Output - type: ls - ts_name: Idle valve 1 - - - pin: 11 - id: B12 - class: outputs - function: Low Side Output - type: ls - ts_name: Tacho output - - - pin: 12 - id: D8 - class: outputs - function: Low Side Output - type: ls - ts_name: Low side output 1 - - - pin: 13 - id: B14 - class: outputs - function: Low Side Output - type: ls - ts_name: Low side output 2 - - - pin: 14 - id: B15 - class: outputs - function: Low Side Output - type: ls - ts_name: Low side output 3 - - - - pin: 15 - id: D9 - class: outputs - function: Low Side Output - type: ls - ts_name: Fan output - - - pin: 16 - id: D11 - class: outputs - function: Low Side Output - type: ls - ts_name: Fuel pump output - - - pin: 17 - id: E7 - class: outputs - function: Low Side Output - type: ls - ts_name: DBW_PWM - - - pin: 18 - id: B0 - class: outputs - function: Low Side Output - type: ls - ts_name: DBW_DIS - - - pin: 19 - id: B1 - class: outputs - function: Low Side Output - type: ls - ts_name: DBW_DIR - - # High side - - - pin: 20 - id: E15 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 1 - - - pin: 21 - id: E14 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 2 - - - pin: 22 - id: E13 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 3 - - - pin: 23 - id: E12 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 4 - - - pin: 24 - id: E11 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 5 - - - pin: 25 - id: E10 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 6 - - - pin: 26 - id: E9 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 7 - - - pin: 27 - id: E8 - class: outputs - function: High Side Output - type: ign - ts_name: Ignition 8 - - # SENSORS - - - pin: 28 - id: EFI_ADC_14 - class: analog_inputs - function: Sensor Input - ts_name: Battery reference voltage - - - pin: 29 - id: EFI_ADC_0 - class: analog_inputs - function: Sensor Input - ts_name: Spare analog input 1 - - - pin: 30 - id: EFI_ADC_1 - class: analog_inputs - function: Sensor Input - ts_name: Spare analog input 2 - - - pin: 31 - id: EFI_ADC_10 - class: analog_inputs - function: Sensor Input - ts_name: Clt sensor - - - pin: 32 - id: EFI_ADC_11 - class: analog_inputs - function: Sensor Input - ts_name: Iat sensor - - - pin: 33 - id: EFI_ADC_12 - class: analog_inputs - function: Sensor Input - ts_name: Oilpress sensor - - - pin: 34 - id: EFI_ADC_13 - class: analog_inputs - function: Sensor Input - ts_name: Fuelpress sensor - - - pin: 35 - id: EFI_ADC_4 - class: analog_inputs - function: Sensor Input - ts_name: Spare analog input 3 - - - pin: 36 - id: EFI_ADC_5 - class: analog_inputs - function: Sensor Input - ts_name: MAP sensor - - - pin: 37 - id: EFI_ADC_6 - class: analog_inputs - function: Sensor Input - ts_name: Build-in wideband sensor - - - pin: 38 - id: EFI_ADC_7 - class: analog_inputs - function: Sensor Input - ts_name: Baro sensor - - - pin: 39 - id: [A14, A14] - class: [event_inputs, switch_inputs] - function: Camshaft Sensor (VR+/Hall) - type: hall - ts_name: Camshaft Sensor - - - pin: 40 - id: [A15, A15] - class: [event_inputs, switch_inputs] - function: Crankshaft Sensor (VR+/Hall) - type: hall - ts_name: Crankshaft Sensor - - - pin: 41 - id: [D4, D4] - class: [event_inputs, switch_inputs] - function: VSS (VR+/Hall) - type: hall - ts_name: VSS - - - pin: 42 - id: [D3, D3] - class: [event_inputs, switch_inputs] - function: Spare trigger input (VR+/Hall) - type: hall - ts_name: Spare trigger input - - - pin: 43 - id: EFI_ADC_15 - class: analog_inputs - function: Sensor Input - ts_name: TPS sensor - - - pin: 44 - id: B9 - class: switch_inputs - function: Digital Input - type: hall - ts_name: Digital Input 1 - - - pin: 45 - id: E0 - class: switch_inputs - function: Digital Input - type: hall - ts_name: Digital Input 2 - - - pin: 46 - id: D5 - class: switch_inputs - function: Digital Input - type: hall - ts_name: Digital Input 3 - - - pin: 47 - id: D6 - class: switch_inputs - function: Digital Input - type: hall - ts_name: Digital Input 4 - -info: - directory: coreECU diff --git a/firmware/config/boards/coreECU/knock_config.h b/firmware/config/boards/coreECU/knock_config.h deleted file mode 100644 index 657c0c14e2..0000000000 --- a/firmware/config/boards/coreECU/knock_config.h +++ /dev/null @@ -1,21 +0,0 @@ -/** - * @file knock_config.h - */ - -#pragma once - -// Knock is on ADC3 -#define KNOCK_ADC ADCD3 - -// knock 1 - pin PA2 -#define KNOCK_ADC_CH1 ADC_CHANNEL_IN2 -#define KNOCK_PIN_CH1 Gpio::A2 - -// knock 2 - pin PA3 -#define KNOCK_HAS_CH2 true -#define KNOCK_ADC_CH2 ADC_CHANNEL_IN3 -#define KNOCK_PIN_CH2 Gpio::A3 - -// Sample rate & time - depends on the exact MCU -#define KNOCK_SAMPLE_TIME ADC_SAMPLE_84 -#define KNOCK_SAMPLE_RATE (STM32_PCLK2 / (4 * (84 + 12))) diff --git a/firmware/config/boards/coreECU/prepend.txt b/firmware/config/boards/coreECU/prepend.txt deleted file mode 100644 index 115f4e7219..0000000000 --- a/firmware/config/boards/coreECU/prepend.txt +++ /dev/null @@ -1,8 +0,0 @@ - -#define ts_show_software_knock true - -#define show_test_presets true -#define show_microRusEFI_presets false -#define show_Frankenso_presets false -#define show_Hellen_presets false -#define show_Proteus_presets false \ No newline at end of file diff --git a/firmware/config/boards/coreECU/signature_BB_V3.h b/firmware/config/boards/coreECU/signature_BB_V3.h deleted file mode 100644 index dcbda983b9..0000000000 --- a/firmware/config/boards/coreECU/signature_BB_V3.h +++ /dev/null @@ -1,4 +0,0 @@ -#define SIGNATURE_DATE 2022.04.24 -#define SIGNATURE_BOARD coreECU -// SIGNATURE_HASH is a built-in variable generated by ConfigDefinition.jar -#define TS_SIGNATURE "rusEFI DAY58.coreECU" \ No newline at end of file diff --git a/firmware/config/boards/f407-discovery/compile_f407-discovery.sh b/firmware/config/boards/f407-discovery/compile_f407-discovery.sh index 0fdb2c3994..8ef66dd8e1 100644 --- a/firmware/config/boards/f407-discovery/compile_f407-discovery.sh +++ b/firmware/config/boards/f407-discovery/compile_f407-discovery.sh @@ -1,5 +1,6 @@ #!/bin/bash +export USE_OPENBLT=yes export EXTRA_PARAMS="-DDUMMY -DSHORT_BOARD_NAME=f407-discovery" bash ../common_make.sh f407-discovery ARCH_STM32F4 diff --git a/firmware/config/boards/hellen/alphax-2chan/compile_alphax-2chan.sh b/firmware/config/boards/hellen/alphax-2chan/compile_alphax-2chan.sh index 0c8ddd88ac..822b3ed5e1 100755 --- a/firmware/config/boards/hellen/alphax-2chan/compile_alphax-2chan.sh +++ b/firmware/config/boards/hellen/alphax-2chan/compile_alphax-2chan.sh @@ -1,4 +1,6 @@ #!/bin/bash +export USE_OPENBLT=yes + cd .. bash ../common_make.sh hellen/alphax-2chan ARCH_STM32F4 diff --git a/firmware/config/boards/hellen/alphax-4chan/compile_alphax-4chan.sh b/firmware/config/boards/hellen/alphax-4chan/compile_alphax-4chan.sh index 18d0e45f45..80cacb15a9 100755 --- a/firmware/config/boards/hellen/alphax-4chan/compile_alphax-4chan.sh +++ b/firmware/config/boards/hellen/alphax-4chan/compile_alphax-4chan.sh @@ -1,4 +1,6 @@ #!/bin/bash +export USE_OPENBLT=yes + cd .. bash ../common_make.sh hellen/alphax-4chan ARCH_STM32F4 diff --git a/firmware/config/boards/hellen/alphax-8chan/compile_alphax-8chan.sh b/firmware/config/boards/hellen/alphax-8chan/compile_alphax-8chan.sh index 5e62ba234c..e730f0bc06 100644 --- a/firmware/config/boards/hellen/alphax-8chan/compile_alphax-8chan.sh +++ b/firmware/config/boards/hellen/alphax-8chan/compile_alphax-8chan.sh @@ -1,4 +1,6 @@ #!/bin/bash +export USE_OPENBLT=yes + cd .. bash ../common_make.sh hellen/alphax-8chan ARCH_STM32F4 diff --git a/firmware/config/boards/hellen/hellen-common144.mk b/firmware/config/boards/hellen/hellen-common144.mk index 3b9bd47c54..aa2d36b1e4 100644 --- a/firmware/config/boards/hellen/hellen-common144.mk +++ b/firmware/config/boards/hellen/hellen-common144.mk @@ -8,4 +8,6 @@ DDEFS += $(LED_CRITICAL_ERROR_BRAIN_PIN) PRIMARY_COMMUNICATION_PORT_USART2=-DEFI_CONSOLE_TX_BRAIN_PIN=Gpio::D6 -DEFI_CONSOLE_RX_BRAIN_PIN=Gpio::D5 -DTS_PRIMARY_UxART_PORT=UARTD2 -DSTM32_UART_USE_USART2=1 +DDEFS += -DHELLEN_BOARD_ID_PIN_1=Gpio::F0 -DHELLEN_BOARD_ID_PIN_2=Gpio::F1 + include $(BOARDS_DIR)/hellen/hellen-common.mk \ No newline at end of file diff --git a/firmware/config/boards/hellen/hellen-common176.mk b/firmware/config/boards/hellen/hellen-common176.mk index 059539dd3a..4510c58d53 100644 --- a/firmware/config/boards/hellen/hellen-common176.mk +++ b/firmware/config/boards/hellen/hellen-common176.mk @@ -6,4 +6,6 @@ endif DDEFS += $(LED_CRITICAL_ERROR_BRAIN_PIN) +DDEFS += -DHELLEN_BOARD_ID_PIN_1=Gpio::F0 -DHELLEN_BOARD_ID_PIN_2=Gpio::F1 + include $(BOARDS_DIR)/hellen/hellen-common.mk \ No newline at end of file diff --git a/firmware/config/boards/hellen/hellen-common64.mk b/firmware/config/boards/hellen/hellen-common64.mk new file mode 100644 index 0000000000..9d2014cce0 --- /dev/null +++ b/firmware/config/boards/hellen/hellen-common64.mk @@ -0,0 +1,13 @@ + + +ifeq ($(LED_CRITICAL_ERROR_BRAIN_PIN),) + LED_CRITICAL_ERROR_BRAIN_PIN = -DLED_CRITICAL_ERROR_BRAIN_PIN=H64_LED1_RED +endif + +DDEFS += $(LED_CRITICAL_ERROR_BRAIN_PIN) + +PRIMARY_COMMUNICATION_PORT_USART3=-DEFI_CONSOLE_TX_BRAIN_PIN=Gpio::C10 -DEFI_CONSOLE_RX_BRAIN_PIN=Gpio::C11 -DTS_PRIMARY_UxART_PORT=UARTD3 -DSTM32_UART_USE_USART3=1 + +DDEFS += -DHELLEN_BOARD_ID_PIN_1=Gpio::C2 -DHELLEN_BOARD_ID_PIN_2=Gpio::C3 + +include $(BOARDS_DIR)/hellen/hellen-common.mk diff --git a/firmware/config/boards/hellen/hellen-nb1/compile_hellen-nb1.sh b/firmware/config/boards/hellen/hellen-nb1/compile_hellen-nb1.sh index 6af1da137a..a823619c85 100644 --- a/firmware/config/boards/hellen/hellen-nb1/compile_hellen-nb1.sh +++ b/firmware/config/boards/hellen/hellen-nb1/compile_hellen-nb1.sh @@ -1,4 +1,6 @@ #!/bin/bash +export USE_OPENBLT=yes + cd .. bash ../common_make.sh hellen/hellen-nb1 ARCH_STM32F4 diff --git a/firmware/config/boards/hellen/hellen64_miataNA6_94/compile_hellenNA6.sh b/firmware/config/boards/hellen/hellen64_miataNA6_94/compile_hellenNA6.sh index a9afb0d28c..fa96de679a 100644 --- a/firmware/config/boards/hellen/hellen64_miataNA6_94/compile_hellenNA6.sh +++ b/firmware/config/boards/hellen/hellen64_miataNA6_94/compile_hellenNA6.sh @@ -1,4 +1,6 @@ #!/bin/bash +export USE_OPENBLT=yes + cd .. bash ../common_make.sh hellen/hellen64_miataNA6_94 ARCH_STM32F4 diff --git a/firmware/config/boards/hellen/hellen72/compile_hellen72.sh b/firmware/config/boards/hellen/hellen72/compile_hellen72.sh index c83e5b0f38..648ae3f0a7 100644 --- a/firmware/config/boards/hellen/hellen72/compile_hellen72.sh +++ b/firmware/config/boards/hellen/hellen72/compile_hellen72.sh @@ -1,4 +1,6 @@ #!/bin/bash +export USE_OPENBLT=yes + cd .. bash ../common_make.sh hellen/hellen72 ARCH_STM32F4 diff --git a/firmware/config/boards/hellen/hellenNA8_96/compile_hellenNA8_96.sh b/firmware/config/boards/hellen/hellenNA8_96/compile_hellenNA8_96.sh index 73976231d1..982a35922b 100755 --- a/firmware/config/boards/hellen/hellenNA8_96/compile_hellenNA8_96.sh +++ b/firmware/config/boards/hellen/hellenNA8_96/compile_hellenNA8_96.sh @@ -1,4 +1,6 @@ #!/bin/bash +export USE_OPENBLT=yes + cd .. bash ../common_make.sh hellen/hellenNA8_96 ARCH_STM32F4 diff --git a/firmware/config/boards/hellen/hellen_board_id.cpp b/firmware/config/boards/hellen/hellen_board_id.cpp index 3d5d64b434..df8b9a9146 100644 --- a/firmware/config/boards/hellen/hellen_board_id.cpp +++ b/firmware/config/boards/hellen/hellen_board_id.cpp @@ -304,13 +304,12 @@ bool HellenBoardIdFinder::measureChargingTimesAveraged(int i, float & T int detectHellenBoardId() { int boardId = -1; -#if EFI_PROD_CODE +#ifdef HELLEN_BOARD_ID_PIN_1 efiPrintf("Starting Hellen Board ID detection..."); efitick_t beginNt = getTimeNowNt(); - // Hellen boards use Gpio::F0 and Gpio::F1. const int numPins = 2; - Gpio rPins[numPins] = { Gpio::F0, Gpio::F1 }; + Gpio rPins[numPins] = { HELLEN_BOARD_ID_PIN_1, HELLEN_BOARD_ID_PIN_2}; // We start from the estimated capacitance, but the real one can be +-10% float C = HELLEN_BOARD_ID_CAPACITOR; @@ -381,6 +380,6 @@ int detectHellenBoardId() { } efiPrintf("* RESULT: BoardId = %d, R1 = %.0f, R2 = %.0f (Elapsed time: %d ms)", boardId, R[0], R[1], elapsed_Ms); -#endif /* EFI_PROD_CODE */ +#endif /* HELLEN_BOARD_ID_PIN_1 */ return boardId; } diff --git a/firmware/config/boards/hellen/hellen_common.cpp b/firmware/config/boards/hellen/hellen_common.cpp index 3b5e3711f1..1d5b55fe5f 100644 --- a/firmware/config/boards/hellen/hellen_common.cpp +++ b/firmware/config/boards/hellen/hellen_common.cpp @@ -13,12 +13,45 @@ void setHellenCan() { engineConfiguration->canRxPin = Gpio::D0; } +void setHellen64Can() { + engineConfiguration->canTxPin = Gpio::B9; + engineConfiguration->canRxPin = Gpio::B8; +} + +void setHellenEnPin(Gpio pin) { + static bool initialized = false; + if (!initialized) { + initialized = true; + megaEn.initPin("EN", pin); + megaEn.setValue(1); + } +} + void setHellenMegaEnPin() { - static bool initialized = false; - if (!initialized) { - initialized = true; - megaEn.initPin("mm-EN", H144_GP8); // OUT_PWR_EN - megaEn.setValue(1); + setHellenEnPin(H144_GP8); // OUT_PWR_EN +} + +void setHellen64MegaEnPin() { + setHellenEnPin(H64_IO1); // OUT_PWR_EN +} + +void hellenBoardStandBy() { + // we need to turn 'megaEn' and pause for a bit to make sure that WBO is off and does not wake main firmware right away + megaEn.setValue(0); + // todo: 200ms is totally random what's the science for this sleep duration? + chThdSleepMilliseconds(200); +} + +/** + * dirty hack + */ +void configureHellenMegaAccCS2Pin() { + static bool initialized = false; + static OutputPin cs2pin; + if (!initialized) { + initialized = true; + cs2pin.initPin("mm-CS2", H_SPI1_CS2); + cs2pin.setValue(1); } } diff --git a/firmware/config/boards/hellen/hellen_leds_64.cpp b/firmware/config/boards/hellen/hellen_leds_64.cpp new file mode 100644 index 0000000000..1d984acecd --- /dev/null +++ b/firmware/config/boards/hellen/hellen_leds_64.cpp @@ -0,0 +1,14 @@ +Gpio getCommsLedPin() { + return H64_LED2_BLUE; +} + +Gpio getWarningLedPin() { + // this board has no warning led + return Gpio::Unassigned; +} + +Gpio getRunningLedPin() { + // this board has no running led + return Gpio::Unassigned; +} + diff --git a/firmware/config/boards/hellen/small-can-board/board.mk b/firmware/config/boards/hellen/small-can-board/board.mk new file mode 100644 index 0000000000..94327075c9 --- /dev/null +++ b/firmware/config/boards/hellen/small-can-board/board.mk @@ -0,0 +1,37 @@ +BOARDCPPSRC = $(BOARD_DIR)/board_configuration.cpp + +DDEFS += -DFIRMWARE_ID=\"small-can-board\" +DDEFS += -DSHORT_BOARD_NAME=small-can-board -DSTATIC_BOARD_ID=STATIC_BOARD_ID_SMALL_CAN_BOARD + +#DDEFS += -DEFI_SENT_SUPPORT=TRUE + +DDEFS += -DEFI_SENSOR_CHART=FALSE +DDEFS += -DLUA_USER_HEAP=50000 +DDEFS += -DEFI_LOGIC_ANALYZER=FALSE +DDEFS += -DEFI_MALFUNCTION_INDICATOR=FALSE +DDEFS += -DEFI_ENGINE_SNIFFER=FALSE +DDEFS += -DEFI_TCU=FALSE +DDEFS += -DEFI_ENGINE_EMULATOR=FALSE +DDEFS += -DEFI_SHAFT_POSITION_INPUT=FALSE +DDEFS += -DEFI_ALTERNATOR_CONTROL=FALSE +DDEFS += -DEFI_VVT_PID=FALSE +DDEFS += -DEFI_EMULATE_POSITION_SENSORS=FALSE +DDEFS += -DEFI_MAP_AVERAGING=FALSE +DDEFS += -DEFI_HPFP=FALSE +DDEFS += -DEFI_TOOTH_LOGGER=FALSE +DDEFS += -DRAM_UNUSED_SIZE=100 + +DDEFS += -DHW_SMALL_CAN_BOARD=1 + +#Mass Storage +DDEFS += -DEFI_EMBED_INI_MSD=FALSE -DEFI_FILE_LOGGING=FALSE +USE_FATFS = no + +#DDEFS += $(PRIMARY_COMMUNICATION_PORT_USART3) + +#DDEFS += -DEFI_KLINE=TRUE +DDEFS += -DKLINE_SERIAL_DEVICE_RX=Gpio::С7 -DKLINE_SERIAL_DEVICE_TX=Gpio::С6 +DDEFS += -DKLINE_SERIAL_DEVICE=SD6 +DDEFS += -DSTM32_SERIAL_USE_USART6=TRUE + +include $(BOARDS_DIR)/hellen/hellen-common64.mk diff --git a/firmware/config/boards/hellen/small-can-board/board_configuration.cpp b/firmware/config/boards/hellen/small-can-board/board_configuration.cpp new file mode 100644 index 0000000000..bf159d1136 --- /dev/null +++ b/firmware/config/boards/hellen/small-can-board/board_configuration.cpp @@ -0,0 +1,32 @@ +#include "pch.h" +#include "hellen_meta.h" + +#include "hellen_leds_64.cpp" + +void setBoardConfigOverrides() { + setHellen64Can(); + setHellen64MegaEnPin(); + setHellen64SdCardSpi1(); + + // 4.7k high side/4.7k low side = 2.0 ratio divider + engineConfiguration->analogInputDividerCoefficient = 2.0f; + + // 33k / 6.8k = 5.835 + engineConfiguration->vbattDividerCoeff = (33 + 6.8) / 6.8; + engineConfiguration->vbattAdcChannel = EFI_ADC_11; + + // Force I/O for Lua - so no TS is required + engineConfiguration->luaOutputPins[0] = H64_OUT_PWM1; + engineConfiguration->luaOutputPins[1] = H64_OUT_PWM2; + engineConfiguration->luaOutputPins[2] = H64_OUT_PWM3; + engineConfiguration->luaOutputPins[3] = H64_OUT_PWM4; + + engineConfiguration->auxAnalogInputs[0] = EFI_ADC_2; + engineConfiguration->auxAnalogInputs[1] = EFI_ADC_3; + engineConfiguration->auxAnalogInputs[2] = EFI_ADC_4; + engineConfiguration->auxAnalogInputs[3] = EFI_ADC_5; + engineConfiguration->auxAnalogInputs[4] = EFI_ADC_6; + engineConfiguration->auxAnalogInputs[5] = EFI_ADC_7; + engineConfiguration->auxAnalogInputs[6] = EFI_ADC_14; + engineConfiguration->auxAnalogInputs[7] = EFI_ADC_15; +} diff --git a/firmware/config/boards/hellen/small-can-board/compile_small-can-board.sh b/firmware/config/boards/hellen/small-can-board/compile_small-can-board.sh new file mode 100755 index 0000000000..c1970acdbd --- /dev/null +++ b/firmware/config/boards/hellen/small-can-board/compile_small-can-board.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# export USE_OPENBLT=yes + +cd .. +bash ../common_make.sh hellen/small-can-board ARCH_STM32F4 diff --git a/firmware/config/boards/hellen/small-can-board/connectors/alphax-2chan.jpg b/firmware/config/boards/hellen/small-can-board/connectors/alphax-2chan.jpg new file mode 100644 index 0000000000..5cada1828d Binary files /dev/null and b/firmware/config/boards/hellen/small-can-board/connectors/alphax-2chan.jpg differ diff --git a/firmware/config/boards/hellen/small-can-board/connectors/generated_ts_name_by_pin.cpp b/firmware/config/boards/hellen/small-can-board/connectors/generated_ts_name_by_pin.cpp new file mode 100644 index 0000000000..c64661679e --- /dev/null +++ b/firmware/config/boards/hellen/small-can-board/connectors/generated_ts_name_by_pin.cpp @@ -0,0 +1,18 @@ +//DO NOT EDIT MANUALLY, let automation work hard. + +// auto-generated by PinoutLogic.java based on config/boards/hellen/small-can-board/connectors/small.yaml +#include "pch.h" + +// see comments at declaration in pin_repository.h +const char * getBoardSpecificPinName(brain_pin_e brainPin) { + switch(brainPin) { + case Gpio::C8: return "C1 - Low Side"; + case Gpio::E12: return "C3 - Digital Input 2"; + case Gpio::E14: return "C2 - Digital Input 1"; + case Gpio::F11: return "C4 - Digital Input 3"; + case Gpio::G7: return "A8 - Low Side"; + case Gpio::G8: return "B8 - Low Side"; + default: return nullptr; + } + return nullptr; +} diff --git a/firmware/config/boards/hellen/small-can-board/connectors/small.yaml b/firmware/config/boards/hellen/small-can-board/connectors/small.yaml new file mode 100644 index 0000000000..935e49aeba --- /dev/null +++ b/firmware/config/boards/hellen/small-can-board/connectors/small.yaml @@ -0,0 +1,199 @@ +meta: config/boards/hellen_meta.h + +pins: + - pin: A1 + function: Power Ground + type: gnd + color: black + + - pin: A2 + id: EFI_ADC_5 + class: analog_inputs + function: +12V + ts_name: A2 Battery Sense + type: 12v + color: red + + - pin: A3 + id: C6 + function: CAN bus2 high (CANH2) + type: can + ts_name: A3 - CAN2 High + color: black + + - pin: A4 + id: C7 + type: can + function: CAN bus2 low (CANL2) + ts_name: A4 - CAN2 Low + color: yellow + + - pin: A5 + function: Sensor Ground + type: gnd + color: brown + + - pin: A6 + class: outputs + function: LIN bus + ts_name: A6 - Lin Bus + color: yellow + + - pin: A8 + # H144_LS_1 + id: G7 + function: Low Side Output 1 5A + class: outputs + ts_name: A8 - Low Side + color: green + + - pin: B2 + # H144_IN_MAP2 AIN10 PC1 + id: EFI_ADC_11 + class: analog_inputs + function: Analog input 1 + ts_name: B2 - Analog input + color: orange + + - pin: B4 + # H144_IN_O2S2 AIN12 PA1 + id: EFI_ADC_1 + class: analog_inputs + function: Analog input 2 + ts_name: B4 - Analog input + color: orange + + - pin: B8 + # H144_LS_2 + id: G8 + function: Low Side Output 2 5A + class: outputs + type: inj + ts_name: B8 - Low Side + color: blue + + - pin: C1 + # H144_OUT_PWM4 + id: C8 + class: outputs + function: Low Side Output 3 5A + type: ls + ts_name: C1 - Low Side + color: purple + + - pin: C2 + # H144_IN_D_3 + id: [E14, E14] + class: [event_inputs, switch_inputs] + function: Digital Input 1 + type: hall + ts_name: C2 - Digital Input 1 + + - pin: C3 + # H144_IN_D_1 + id: [E12, E12] + class: [event_inputs, switch_inputs] + function: Digital Input 2 / SENT + type: hall + ts_name: C3 - Digital Input 2 + + - pin: C4 + # H144_IN_VSS + id: F11 + class: switch_inputs + function: Digital Input 3 + type: hall + ts_name: C4 - Digital Input 3 + color: gray + + - pin: C5 + function: CAN bus high (CANH) + type: can + color: green + + - pin: C6 + function: CAN bus low (CANL) + type: can + color: blue + +info: + title: Small CAN + name: Small CAN + directory: hellen/small-can-board + image: + file: alphax-2chan.jpg + pins: + - pin: A8 + x: 316 + y: 239 + - pin: A7 + x: 413 + y: 239 + - pin: A6 + x: 489 + y: 239 + - pin: A5 + x: 564 + y: 239 + - pin: A4 + x: 635 + y: 239 + - pin: A3 + x: 710 + y: 239 + - pin: A2 + x: 786 + y: 239 + - pin: A1 + x: 882 + y: 239 + + - pin: B8 + x: 316 + y: 352 + - pin: B7 + x: 413 + y: 352 + - pin: B6 + x: 489 + y: 352 + - pin: B5 + x: 564 + y: 352 + - pin: B4 + x: 635 + y: 352 + - pin: B3 + x: 710 + y: 352 + - pin: B2 + x: 786 + y: 352 + - pin: B1 + x: 882 + y: 352 + + - pin: C8 + x: 316 + y: 466 + - pin: C7 + x: 413 + y: 466 + - pin: C6 + x: 489 + y: 466 + - pin: C5 + x: 564 + y: 466 + - pin: C4 + x: 635 + y: 466 + - pin: C3 + x: 710 + y: 466 + - pin: C2 + x: 786 + y: 466 + - pin: C1 + x: 882 + y: 466 diff --git a/firmware/config/boards/hellen/small-can-board/prepend.txt b/firmware/config/boards/hellen/small-can-board/prepend.txt new file mode 100644 index 0000000000..c7e38628ac --- /dev/null +++ b/firmware/config/boards/hellen/small-can-board/prepend.txt @@ -0,0 +1,6 @@ +#define ts_show_egt false + +#define ts_show_etb_pins false +#define ts_show_analog_divider false + +#define LUA_SCRIPT_SIZE 25000 diff --git a/firmware/config/boards/hellen/small-can-board/readme.md b/firmware/config/boards/hellen/small-can-board/readme.md new file mode 100644 index 0000000000..0baca39b31 --- /dev/null +++ b/firmware/config/boards/hellen/small-can-board/readme.md @@ -0,0 +1 @@ +https://rusefi.com/forum/viewtopic.php?f=4&t=2570 diff --git a/firmware/config/boards/hellen_meta.h b/firmware/config/boards/hellen_meta.h index ed4dcdd6e2..c6c7994b32 100644 --- a/firmware/config/boards/hellen_meta.h +++ b/firmware/config/boards/hellen_meta.h @@ -7,18 +7,52 @@ #pragma once +// see https://github.com/andreika-git/hellen-one/blob/master/board_id/board_ids.csv #define BOARD_ID_154hyundai_c 10 +#define BOARD_ID_154hyundai_d 201 + +#define BOARD_ID_2chan_b 3 +#define BOARD_ID_2chan_c 5 #define BOARD_ID_2chan_d 107 +// mega-module starts here +#define BOARD_ID_2chan_e 112 +#define BOARD_ID_2chan_f 115 +#define BOARD_ID_2chan_g 210 + +#define BOARD_ID_4chan_d 103 +#define BOARD_ID_4chan_e 105 +#define BOARD_ID_4chan_f 113 +#define BOARD_ID_4chan_g 203 +#define BOARD_ID_4chan_h 114 void hellenWbo(); void setHellenMegaEnPin(); +void setHellenEnPin(Gpio pin); +void setHellen64MegaEnPin(); +void hellenBoardStandBy(); +void configureHellenMegaAccCS2Pin(); +void configureHellenCanTerminator(); void setHellenCan(); +void setHellen64Can(); int detectHellenBoardId(); void detectHellenBoardType(); +#define H64_LED1_RED Gpio::B0 +#define H64_LED2_BLUE Gpio::B1 + +#define H64_IO1 Gpio::C13 +#define H64_SPI1_CS1 Gpio::D2 + +#define H64_OUT_PWM1 Gpio::B7 +#define H64_OUT_PWM2 Gpio::C8 +#define H64_OUT_PWM3 Gpio::C9 +#define H64_OUT_PWM4 Gpio::A8 +#define H64_OUT_PWM5 Gpio::A9 +#define H64_OUT_PWM6 Gpio::A15 + // stm32 UART8 #define H144_UART1_RX Gpio::E0 #define H144_UART1_TX Gpio::E1 @@ -32,6 +66,8 @@ void detectHellenBoardType(); #define H144_LED3 Gpio::E7 #define H144_LED4 Gpio::E8 +#define H144_USB1ID Gpio::A10 + #define H176_LED1_RED Gpio::H8 #define H144_LS_1 Gpio::G7 @@ -115,12 +151,16 @@ void detectHellenBoardType(); // VIGN PA5 #define H144_IN_VBATT EFI_ADC_5 +// muxed +#define H144_IN_TPS2 EFI_ADC_20 + // IN_MAP1 AIN9 PC0 #define H144_IN_MAP1 EFI_ADC_10 // AIN10 PC1 #define H144_IN_MAP2 EFI_ADC_11 // AIN15 A15 PA2 #define H144_IN_MAP3 EFI_ADC_2 +#define H144_IN_MAP3_DIGITAL Gpio::A2 // AIN7 #define H144_IN_RES1 Gpio::F9 @@ -157,9 +197,9 @@ void detectHellenBoardType(); // IN_O2S2 AIN12 PA1 #define H144_IN_O2S2 EFI_ADC_1 -// IN_D1(old) or IN_DIG8(new) +// IN_D1(old) or IN_DIG8(new/mega-module) #define H144_IN_D_1 Gpio::E12 -// IN_D2(old) or IN_DIG9(new) +// IN_D2(old) or IN_DIG9(new/mm) #define H144_IN_D_2 Gpio::E13 // IN_D3(old) or IN_DIG10(new) #define H144_IN_D_3 Gpio::E14 @@ -211,16 +251,27 @@ void detectHellenBoardType(); #define H_SPI3_SCK Gpio::C10 #define H_SPI3_CS Gpio::A15 -static void setHellenSdCardSpi1() { +static void setHellenSdCardSpi1NoCS() { + engineConfiguration->isSdCardEnabled = true; engineConfiguration->sdCardSpiDevice = SPI_DEVICE_1; engineConfiguration->spi1mosiPin = H_SPI1_MOSI; engineConfiguration->spi1misoPin = H_SPI1_MISO; engineConfiguration->spi1sckPin = H_SPI1_SCK; - engineConfiguration->sdCardCsPin = H_SPI1_CS1; engineConfiguration->is_enabled_spi_1 = true; } +static void setHellenSdCardSpi1() { + setHellenSdCardSpi1NoCS(); + engineConfiguration->sdCardCsPin = H_SPI1_CS1; +} + +static void setHellen64SdCardSpi1() { + setHellenSdCardSpi1NoCS(); + engineConfiguration->sdCardCsPin = H64_SPI1_CS1; +} + static void setHellenSdCardSpi2() { + engineConfiguration->isSdCardEnabled = true; engineConfiguration->sdCardSpiDevice = SPI_DEVICE_2; engineConfiguration->spi2mosiPin = H_SPI2_MOSI; engineConfiguration->spi2misoPin = H_SPI2_MISO; @@ -230,6 +281,7 @@ static void setHellenSdCardSpi2() { } static void setHellenSdCardSpi3() { + engineConfiguration->isSdCardEnabled = true; engineConfiguration->sdCardSpiDevice = SPI_DEVICE_3; engineConfiguration->spi3mosiPin = H_SPI3_MOSI; engineConfiguration->spi3misoPin = H_SPI3_MISO; @@ -245,3 +297,8 @@ static void setDefaultHellenAtPullUps(){ engineConfiguration->clt.config.bias_resistor = HELLEN_DEFAULT_AT_PULLUP; engineConfiguration->iat.config.bias_resistor = HELLEN_DEFAULT_AT_PULLUP; } + +static void setHellenMMbaro() { + engineConfiguration->lps25BaroSensorScl = Gpio::B10; + engineConfiguration->lps25BaroSensorSda = Gpio::B11; +} diff --git a/firmware/config/boards/microrusefi/board_configuration.cpp b/firmware/config/boards/microrusefi/board_configuration.cpp index 8e0a9018c9..cfe3442e23 100644 --- a/firmware/config/boards/microrusefi/board_configuration.cpp +++ b/firmware/config/boards/microrusefi/board_configuration.cpp @@ -202,10 +202,18 @@ void setBoardDefaultConfiguration() { engineConfiguration->injectionMode = IM_SIMULTANEOUS;//IM_BATCH;// IM_SEQUENTIAL; } +static Gpio MRE_OUTPUTS[] = { + MRE_INJ_1, + MRE_INJ_2, + MRE_INJ_3, + MRE_INJ_4, + MRE_LS_1, +}; + int getBoardMetaOutputsCount() { - return efi::size(MRE_OUTPUTS); + return efi::size(MRE_OUTPUTS); } Gpio* getBoardMetaOutputs() { - return MRE_OUTPUTS; + return MRE_OUTPUTS; } diff --git a/firmware/config/boards/microrusefi/compile_mre_f7.sh b/firmware/config/boards/microrusefi/compile_mre_f7.sh index 81cde41566..a8323f4040 100755 --- a/firmware/config/boards/microrusefi/compile_mre_f7.sh +++ b/firmware/config/boards/microrusefi/compile_mre_f7.sh @@ -1,3 +1,5 @@ #!/bin/bash +export USE_OPENBLT=yes + bash ../common_make.sh microrusefi ARCH_STM32F7 diff --git a/firmware/config/boards/mre_meta.h b/firmware/config/boards/mre_meta.h index 3fd74bd51d..46864300bb 100644 --- a/firmware/config/boards/mre_meta.h +++ b/firmware/config/boards/mre_meta.h @@ -53,13 +53,3 @@ // 28 - AN volt 10 #define MRE_IN_ANALOG_VOLT_10 EFI_ADC_4 - -#if HW_MICRO_RUSEFI -static Gpio MRE_OUTPUTS[] = { -MRE_INJ_1, -MRE_INJ_2, -MRE_INJ_3, -MRE_INJ_4, -MRE_LS_1, -}; -#endif // HW_MICRO_RUSEFI \ No newline at end of file diff --git a/firmware/config/boards/nucleo_f429/board_configuration.cpp b/firmware/config/boards/nucleo_f429/board_configuration.cpp index ef41890340..e3a764b102 100644 --- a/firmware/config/boards/nucleo_f429/board_configuration.cpp +++ b/firmware/config/boards/nucleo_f429/board_configuration.cpp @@ -11,6 +11,11 @@ Gpio getRunningLedPin() { return Gpio::B0; } +Gpio getWarningLedPin() { + // this board has no warning led + return Gpio::Unassigned; +} + void preHalInit() { efiSetPadMode("Ethernet", Gpio::A1, PAL_MODE_ALTERNATE(0xb)); efiSetPadMode("Ethernet", Gpio::A2, PAL_MODE_ALTERNATE(0xb)); diff --git a/firmware/config/boards/proteus/board_configuration.cpp b/firmware/config/boards/proteus/board_configuration.cpp index b27dcd8824..3b9cd323c4 100644 --- a/firmware/config/boards/proteus/board_configuration.cpp +++ b/firmware/config/boards/proteus/board_configuration.cpp @@ -185,10 +185,29 @@ void boardPrepareForStop() { palEnableLineEvent(PAL_LINE(GPIOD, 0), PAL_EVENT_MODE_RISING_EDGE); } +static Gpio PROTEUS_OUTPUTS[] = { + PROTEUS_LS_1, + PROTEUS_LS_2, + PROTEUS_LS_3, + PROTEUS_LS_4, + PROTEUS_LS_5, + PROTEUS_LS_6, + PROTEUS_LS_7, + PROTEUS_LS_8, + PROTEUS_LS_9, + PROTEUS_LS_10, + PROTEUS_LS_11, + PROTEUS_LS_12, + PROTEUS_LS_13, + PROTEUS_LS_14, + PROTEUS_LS_15, + PROTEUS_LS_16, +}; + int getBoardMetaOutputsCount() { - return efi::size(PROTEUS_OUTPUTS); + return efi::size(PROTEUS_OUTPUTS); } Gpio* getBoardMetaOutputs() { - return PROTEUS_OUTPUTS; + return PROTEUS_OUTPUTS; } diff --git a/firmware/config/boards/proteus/compile_proteus_f7.sh b/firmware/config/boards/proteus/compile_proteus_f7.sh index a44e2e724c..3377d2ce71 100755 --- a/firmware/config/boards/proteus/compile_proteus_f7.sh +++ b/firmware/config/boards/proteus/compile_proteus_f7.sh @@ -1,6 +1,5 @@ #!/bin/bash -# does not fit into 512K flash, and we use 512K because of st DFU client bug :( -# export USE_OPENBLT=yes +export USE_OPENBLT=yes bash ../common_make.sh proteus ARCH_STM32F7 diff --git a/firmware/config/boards/proteus_meta.h b/firmware/config/boards/proteus_meta.h index 09c29ecf96..902018e3e3 100644 --- a/firmware/config/boards/proteus_meta.h +++ b/firmware/config/boards/proteus_meta.h @@ -133,24 +133,3 @@ #define PROTEUS_DIGITAL_4 Gpio::E14 #define PROTEUS_DIGITAL_5 Gpio::E13 #define PROTEUS_DIGITAL_6 Gpio::E15 - -#if HW_PROTEUS -static Gpio PROTEUS_OUTPUTS[] = { -PROTEUS_LS_1, -PROTEUS_LS_2, -PROTEUS_LS_3, -PROTEUS_LS_4, -PROTEUS_LS_5, -PROTEUS_LS_6, -PROTEUS_LS_7, -PROTEUS_LS_8, -PROTEUS_LS_9, -PROTEUS_LS_10, -PROTEUS_LS_11, -PROTEUS_LS_12, -PROTEUS_LS_13, -PROTEUS_LS_14, -PROTEUS_LS_15, -PROTEUS_LS_16, -}; -#endif // HW_PROTEUS 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 82821e113b..0398d57574 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 @@ -413,7 +413,7 @@ struct engine_configuration_s { // offset 88 bit 10 bool isDoubleSolenoidIdle : 1 {}; // offset 88 bit 11 - bool useEeprom : 1 {}; + bool unused88b11 : 1 {}; // offset 88 bit 12 bool useTLE8888_cranking_hack : 1 {}; // offset 88 bit 13 @@ -435,7 +435,7 @@ struct engine_configuration_s { bool useTLE8888_stepper : 1 {}; // offset 88 bit 20 bool usescriptTableForCanSniffingFiltering : 1 {}; - // Print incoming and outgoing first bus CAN messages in rusEFI console + // Print incoming and outgoing first bus CAN messages in FOME console // offset 88 bit 21 bool verboseCan : 1 {}; // Experimental setting that will cause a misfire @@ -505,6 +505,7 @@ struct engine_configuration_s { int launchTimingRetard; // We calculate knock band based of cylinderBore // Use this to override - kHz knock band override + // Requires power cycling to effect // kHz // offset 324 float knockBandCustom; @@ -520,8 +521,9 @@ struct engine_configuration_s { uint32_t cylindersCount; // offset 336 firing_order_e firingOrder; + // deg // offset 337 - uint8_t unusedOldBenchTest; + uint8_t vvtBumpAmount; // Duration of each test pulse // ms // offset 338 @@ -858,7 +860,7 @@ struct engine_configuration_s { // enable sd/disable sd // offset 644 bit 3 bool isSdCardEnabled : 1 {}; - // Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + // Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format. // offset 644 bit 4 bool rusefiVerbose29b : 1 {}; // offset 644 bit 5 @@ -870,7 +872,7 @@ struct engine_configuration_s { bool enabledStep1Limiter : 1 {}; // offset 644 bit 8 bool verboseTLE8888 : 1 {}; - // CAN broadcast using custom rusEFI protocol + // CAN broadcast using custom FOME protocol // enable can_broadcast/disable can_broadcast // offset 644 bit 9 bool enableVerboseCanTx : 1 {}; @@ -1049,7 +1051,7 @@ struct engine_configuration_s { // offset 752 output_pin_e acRelayPin; // offset 754 - maf_sensor_type_e mafSensorType; + uint8_t unused754; // offset 755 spi_device_e drv8860spiDevice; // offset 756 @@ -1094,7 +1096,7 @@ struct engine_configuration_s { // offset 808 bit 6 bool enableInnovateLC2 : 1 {}; // offset 808 bit 7 - bool showHumanReadableWarning : 1 {}; + bool unused808b7 : 1 {}; // If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. // offset 808 bit 8 bool stftIgnoreErrorMagnitude : 1 {}; @@ -1107,8 +1109,9 @@ struct engine_configuration_s { // get invertCamVVTSignal // offset 808 bit 11 bool invertCamVVTSignal : 1 {}; + // In Alpha-N mode, compensate for air temperature. // offset 808 bit 12 - bool unused804b12 : 1 {}; + bool alphaNUseIat : 1 {}; // offset 808 bit 13 bool knockBankCyl1 : 1 {}; // offset 808 bit 14 @@ -1140,7 +1143,7 @@ struct engine_configuration_s { // If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss // offset 808 bit 27 bool useRawOutputToDriveIdleStepper : 1 {}; - // Print incoming and outgoing second bus CAN messages in rusEFI console + // Print incoming and outgoing second bus CAN messages in FOME console // offset 808 bit 28 bool verboseCan2 : 1 {}; // offset 808 bit 29 @@ -1204,16 +1207,13 @@ struct engine_configuration_s { // offset 920 dc_io stepperDcIo[DC_PER_STEPPER]; // For example, BMW, GM or Chevrolet - // REQUIRED for rusEFI Online // offset 936 vehicle_info_t engineMake; // For example, LS1 or NB2 - // REQUIRED for rusEFI Online // offset 968 vehicle_info_t engineCode; // For example, Hunchback or Orange Miata // Vehicle name has to be unique between your vehicles. - // REQUIRED for rusEFI Online // offset 1000 vehicle_info_t vehicleName; // offset 1032 @@ -1253,10 +1253,8 @@ struct engine_configuration_s { // Enables lambda sensor closed loop feedback for fuelling. // offset 1192 bit 1 bool fuelClosedLoopCorrectionEnabled : 1 {}; - // Print details into rusEFI console - // enable verbose_idle // offset 1192 bit 2 - bool isVerboseIAC : 1 {}; + bool unused1192b2 : 1 {}; // offset 1192 bit 3 bool boardUseTachPullUp : 1 {}; // offset 1192 bit 4 @@ -1284,12 +1282,10 @@ struct engine_configuration_s { // This enables smart alternator control and activates the extra alternator settings. // offset 1192 bit 13 bool isAlternatorControlEnabled : 1 {}; - // https://wiki.rusefi.com/Trigger-Configuration-Guide - // This setting flips the signal from the primary engine speed sensor. + // Invert the signal from the primary trigger sensor. // offset 1192 bit 14 bool invertPrimaryTriggerSignal : 1 {}; - // https://wiki.rusefi.com/Trigger-Configuration-Guide - // This setting flips the signal from the secondary engine speed sensor. + // Invert the signal from the secondary trigger sensor. // offset 1192 bit 15 bool invertSecondaryTriggerSignal : 1 {}; // offset 1192 bit 16 @@ -1591,7 +1587,7 @@ struct engine_configuration_s { // Sets what part of injection's is controlled by the injection phase table. // offset 1401 InjectionTimingMode injectionTimingMode; - // See http://rusefi.com/s/debugmode + // See https://wiki.fome.tech/r/debugmode // offset 1402 debug_mode_e debugMode; // Additional idle % when fan #1 is active @@ -2355,11 +2351,52 @@ struct engine_configuration_s { // ms // offset 3602 scaled_channel ignTestOffTime; - // units // offset 3603 - uint8_t mainUnusedEnd[93]; + uint8_t alignmentFill_at_3603[1]; + // Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. + // ratio + // offset 3604 + scaled_channel canVssScaling; + // offset 3606 + uint8_t alignmentFill_at_3606[2]; + // offset 3608 + ThermistorConf oilTempSensor; + // offset 3640 + ThermistorConf fuelTempSensor; + // offset 3672 + ThermistorConf ambientTempSensor; + // offset 3704 + ThermistorConf compressorDischargeTemperature; + // Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor. + // offset 3736 + adc_channel_e throttleInletPressureChannel; + // Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor. + // offset 3737 + adc_channel_e compressorDischargePressureChannel; + // If injector duty cycle hits this value, instantly cut fuel. + // % + // offset 3738 + uint8_t maxInjectorDutyInstant; + // If injector duty cycle hits this value for the specified delay time, cut fuel. + // % + // offset 3739 + uint8_t maxInjectorDutySustained; + // Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. + // sec + // offset 3740 + scaled_channel maxInjectorDutySustainedTimeout; + // offset 3741 + uint8_t alignmentFill_at_3741[1]; + // offset 3742 + output_pin_e speedometerOutputPin; + // Number of speedometer pulses per kilometer travelled. + // offset 3744 + uint16_t speedometerPulsePerKm; + // units + // offset 3746 + uint8_t mainUnusedEnd[246]; }; -static_assert(sizeof(engine_configuration_s) == 3696); +static_assert(sizeof(engine_configuration_s) == 3992); struct cyl_trim_s { // offset 0 @@ -2396,461 +2433,459 @@ struct persistent_config_s { // target TPS value, 0 to 100% // TODO: use int8 data date once we template interpolation method // target TPS position - // offset 3696 + // offset 3992 float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; // PWM bias, 0 to 100% // ETB duty cycle bias - // offset 3728 + // offset 4024 float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; // % - // offset 3760 + // offset 4056 scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; // Load - // offset 3824 + // offset 4120 uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; // RPM - // offset 3832 + // offset 4128 scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; // On Single Coil or Wasted Spark setups you have to lower dwell at high RPM // RPM - // offset 3840 + // offset 4136 uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; // ms - // offset 3856 + // offset 4152 scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; // CLT-based target RPM for automatic idle controller // C - // offset 3872 + // offset 4168 scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; // See idleRpmPid // RPM - // offset 3888 + // offset 4184 scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; // CLT-based timing correction // C - // offset 3904 + // offset 4200 float cltTimingBins[CLT_TIMING_CURVE_SIZE]; // degree - // offset 3936 + // offset 4232 float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; // x - // offset 3968 + // offset 4264 float scriptCurve1Bins[SCRIPT_CURVE_16]; // y - // offset 4032 + // offset 4328 float scriptCurve1[SCRIPT_CURVE_16]; // x - // offset 4096 + // offset 4392 float scriptCurve2Bins[SCRIPT_CURVE_16]; // y - // offset 4160 + // offset 4456 float scriptCurve2[SCRIPT_CURVE_16]; // x - // offset 4224 + // offset 4520 float scriptCurve3Bins[SCRIPT_CURVE_8]; // y - // offset 4256 + // offset 4552 float scriptCurve3[SCRIPT_CURVE_8]; // x - // offset 4288 + // offset 4584 float scriptCurve4Bins[SCRIPT_CURVE_8]; // y - // offset 4320 + // offset 4616 float scriptCurve4[SCRIPT_CURVE_8]; // x - // offset 4352 + // offset 4648 float scriptCurve5Bins[SCRIPT_CURVE_8]; // y - // offset 4384 + // offset 4680 float scriptCurve5[SCRIPT_CURVE_8]; // x - // offset 4416 + // offset 4712 float scriptCurve6Bins[SCRIPT_CURVE_8]; // y - // offset 4448 + // offset 4744 float scriptCurve6[SCRIPT_CURVE_8]; // kPa - // offset 4480 + // offset 4776 float baroCorrPressureBins[BARO_CORR_SIZE]; // RPM - // offset 4496 + // offset 4792 float baroCorrRpmBins[BARO_CORR_SIZE]; // ratio - // offset 4512 + // offset 4808 float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; // Cranking fuel correction coefficient based on TPS // Ratio - // offset 4576 + // offset 4872 float crankingTpsCoef[CRANKING_CURVE_SIZE]; // % - // offset 4608 + // offset 4904 float crankingTpsBins[CRANKING_CURVE_SIZE]; // Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) // RPM - // offset 4640 + // offset 4936 uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; // Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) // deg - // offset 4648 + // offset 4944 scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; // RPM-based idle position for coasting // RPM - // offset 4656 + // offset 4952 scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; // RPM-based idle position for coasting // % - // offset 4672 + // offset 4968 scaled_channel iacCoasting[CLT_CURVE_SIZE]; - // offset 4688 - error_message_t warning_message; // C - // offset 4808 + // offset 4984 float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; // Seconds - // offset 4840 + // offset 5016 float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; // % - // offset 4872 + // offset 5048 float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; // Seconds - // offset 4904 + // offset 5080 float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; - // offset 4936 + // offset 5112 scaled_channel boostTableOpenLoop[BOOST_RPM_COUNT][BOOST_LOAD_COUNT]; // RPM - // offset 5000 + // offset 5176 scaled_channel boostRpmBins[BOOST_RPM_COUNT]; - // offset 5008 + // offset 5184 scaled_channel boostTableClosedLoop[BOOST_RPM_COUNT][BOOST_LOAD_COUNT]; // % - // offset 5072 + // offset 5248 uint8_t boostTpsBins[BOOST_LOAD_COUNT]; // % - // offset 5080 + // offset 5256 uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; // % - // offset 5144 + // offset 5320 uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; // RPM - // offset 5152 + // offset 5328 scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; // CLT-based cranking position multiplier for simple manual idle controller // C - // offset 5160 + // offset 5336 float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; // CLT-based cranking position multiplier for simple manual idle controller // % - // offset 5192 + // offset 5368 float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; // Optional timing advance table for Idle (see useSeparateAdvanceForIdle) // RPM - // offset 5224 + // offset 5400 scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; // Optional timing advance table for Idle (see useSeparateAdvanceForIdle) // deg - // offset 5232 + // offset 5408 float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; // RPM - // offset 5264 + // offset 5440 scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; // load - // offset 5268 + // offset 5444 uint8_t idleVeLoadBins[IDLE_VE_SIZE]; // % - // offset 5272 + // offset 5448 scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; - // offset 5304 + // offset 5480 lua_script_t luaScript; // C - // offset 13304 + // offset 13480 float cltFuelCorrBins[CLT_CURVE_SIZE]; // ratio - // offset 13368 + // offset 13544 float cltFuelCorr[CLT_CURVE_SIZE]; // C - // offset 13432 + // offset 13608 float iatFuelCorrBins[IAT_CURVE_SIZE]; // ratio - // offset 13496 + // offset 13672 float iatFuelCorr[IAT_CURVE_SIZE]; // ratio - // offset 13560 + // offset 13736 float crankingFuelCoef[CRANKING_CURVE_SIZE]; // C - // offset 13592 + // offset 13768 float crankingFuelBins[CRANKING_CURVE_SIZE]; // ratio - // offset 13624 + // offset 13800 float crankingCycleCoef[CRANKING_CURVE_SIZE]; // counter - // offset 13656 + // offset 13832 float crankingCycleBins[CRANKING_CURVE_SIZE]; // CLT-based idle position multiplier for simple manual idle controller // C - // offset 13688 + // offset 13864 float cltIdleCorrBins[CLT_CURVE_SIZE]; // CLT-based idle position multiplier for simple manual idle controller // ratio - // offset 13752 + // offset 13928 float cltIdleCorr[CLT_CURVE_SIZE]; // Also known as MAF transfer function. // kg/hour value. // By the way 2.081989116 kg/h = 1 ft3/m // kg/hour - // offset 13816 + // offset 13992 float mafDecoding[MAF_DECODING_COUNT]; // V - // offset 14840 + // offset 15016 float mafDecodingBins[MAF_DECODING_COUNT]; // deg - // offset 15864 + // offset 16040 scaled_channel ignitionIatCorrTable[8][8]; // C - // offset 15928 + // offset 16104 int8_t ignitionIatCorrTempBins[8]; // Load - // offset 15936 + // offset 16112 scaled_channel ignitionIatCorrLoadBins[8]; // deg - // offset 15944 + // offset 16120 int16_t injectionPhase[IGN_RPM_COUNT][IGN_LOAD_COUNT]; // Load - // offset 16456 + // offset 16632 uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; // RPM - // offset 16488 + // offset 16664 uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; // onoff - // offset 16520 + // offset 16696 uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; // kPa - // offset 16580 + // offset 16756 scaled_channel mapEstimateTable[FUEL_RPM_COUNT][FUEL_LOAD_COUNT]; // % TPS - // offset 17092 + // offset 17268 scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; // RPM - // offset 17124 + // offset 17300 uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; // value - // offset 17156 + // offset 17332 int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; // L - // offset 17220 + // offset 17396 uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; // RPM - // offset 17236 + // offset 17412 uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; // value - // offset 17252 + // offset 17428 int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; // L - // offset 17316 + // offset 17492 uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; // RPM - // offset 17332 + // offset 17508 uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; // deg - // offset 17348 + // offset 17524 scaled_channel ignitionTable[IGN_RPM_COUNT][IGN_LOAD_COUNT]; // Load - // offset 17860 + // offset 18036 uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; // RPM - // offset 17892 + // offset 18068 uint16_t ignitionRpmBins[IGN_RPM_COUNT]; // % - // offset 17924 + // offset 18100 scaled_channel veTable[FUEL_RPM_COUNT][FUEL_LOAD_COUNT]; // kPa - // offset 18436 + // offset 18612 uint16_t veLoadBins[FUEL_LOAD_COUNT]; // RPM - // offset 18468 + // offset 18644 uint16_t veRpmBins[FUEL_RPM_COUNT]; // lambda - // offset 18500 + // offset 18676 scaled_channel lambdaTable[FUEL_RPM_COUNT][FUEL_LOAD_COUNT]; - // offset 18756 + // offset 18932 uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; // RPM - // offset 18788 + // offset 18964 uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; // value - // offset 18820 + // offset 18996 float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; // from - // offset 19076 + // offset 19252 float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; // to - // offset 19108 + // offset 19284 float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; // value - // offset 19140 + // offset 19316 float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; // L - // offset 19396 + // offset 19572 int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; // RPM - // offset 19412 + // offset 19588 int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; // value - // offset 19428 + // offset 19604 uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; // L - // offset 19492 + // offset 19668 int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; // RPM - // offset 19508 + // offset 19684 int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; // value - // offset 19524 + // offset 19700 uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; // L - // offset 19588 + // offset 19764 int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; // RPM - // offset 19604 + // offset 19780 int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; // value - // offset 19620 + // offset 19796 uint8_t scriptTable4[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; // L - // offset 19684 + // offset 19860 int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; // RPM - // offset 19700 + // offset 19876 int16_t scriptTable4RpmBins[SCRIPT_TABLE_8]; - // offset 19716 + // offset 19892 uint16_t ignTrimLoadBins[TRIM_SIZE]; // rpm - // offset 19724 + // offset 19900 uint16_t ignTrimRpmBins[TRIM_SIZE]; - // offset 19732 + // offset 19908 cyl_trim_s ignTrims[12]; - // offset 19924 + // offset 20100 uint16_t fuelTrimLoadBins[TRIM_SIZE]; // rpm - // offset 19932 + // offset 20108 uint16_t fuelTrimRpmBins[TRIM_SIZE]; - // offset 19940 + // offset 20116 cyl_trim_s fuelTrims[12]; // ratio - // offset 20132 + // offset 20308 scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; // Airmass - // offset 20148 + // offset 20324 scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; // % - // offset 20156 + // offset 20332 uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; // % - // offset 20164 + // offset 20340 uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; // % - // offset 20172 + // offset 20348 uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; // % - // offset 20180 + // offset 20356 uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; // % - // offset 20188 + // offset 20364 uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; // % - // offset 20196 + // offset 20372 uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; // % - // offset 20204 + // offset 20380 uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; // % - // offset 20212 + // offset 20388 uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; // % - // offset 20220 + // offset 20396 uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; // % - // offset 20228 + // offset 20404 uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; // % - // offset 20236 + // offset 20412 uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; // % - // offset 20244 + // offset 20420 uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; // TPS - // offset 20252 + // offset 20428 uint8_t tcu_tccTpsBins[8]; // MPH - // offset 20260 + // offset 20436 uint8_t tcu_tccLockSpeed[8]; // MPH - // offset 20268 + // offset 20444 uint8_t tcu_tccUnlockSpeed[8]; // KPH - // offset 20276 + // offset 20452 uint8_t tcu_32SpeedBins[8]; // % - // offset 20284 + // offset 20460 uint8_t tcu_32Vals[8]; // % - // offset 20292 + // offset 20468 scaled_channel throttle2TrimTable[6][6]; // % - // offset 20328 + // offset 20504 uint8_t throttle2TrimTpsBins[6]; // RPM - // offset 20334 + // offset 20510 scaled_channel throttle2TrimRpmBins[6]; // deg - // offset 20340 + // offset 20516 scaled_channel maxKnockRetardTable[6][6]; // % - // offset 20376 + // offset 20552 uint8_t maxKnockRetardLoadBins[6]; // RPM - // offset 20382 + // offset 20558 scaled_channel maxKnockRetardRpmBins[6]; // deg - // offset 20388 + // offset 20564 scaled_channel ALSTimingRetardTable[4][4]; // TPS - // offset 20420 + // offset 20596 uint16_t alsIgnRetardLoadBins[4]; // RPM - // offset 20428 + // offset 20604 uint16_t alsIgnRetardrpmBins[4]; // percent - // offset 20436 + // offset 20612 scaled_channel ALSFuelAdjustment[4][4]; // TPS - // offset 20468 + // offset 20644 uint16_t alsFuelAdjustmentLoadBins[4]; // RPM - // offset 20476 + // offset 20652 uint16_t alsFuelAdjustmentrpmBins[4]; - // offset 20484 + // offset 20660 blend_table_s ignBlends[IGN_BLEND_COUNT]; - // offset 21236 + // offset 21412 blend_table_s veBlends[VE_BLEND_COUNT]; // % - // offset 21988 + // offset 22164 scaled_channel throttleEstimateEffectiveAreaBins[12]; // In units of g/s normalized to choked flow conditions // g/s - // offset 22012 + // offset 22188 scaled_channel throttleEstimateEffectiveAreaValues[12]; - // offset 22036 + // offset 22212 blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; - // offset 22412 + // offset 22588 blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; // lambda - // offset 22788 + // offset 22964 scaled_channel lambdaMaxDeviationTable[4][4]; - // offset 22804 + // offset 22980 uint16_t lambdaMaxDeviationLoadBins[4]; // RPM - // offset 22812 + // offset 22988 uint16_t lambdaMaxDeviationRpmBins[4]; }; -static_assert(sizeof(persistent_config_s) == 22820); +static_assert(sizeof(persistent_config_s) == 22996); 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 80077dca1c..9428e6ac38 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 @@ -74,6 +74,10 @@ #define bench_mode_e_BENCH_SECOND_IDLE_VALVE 13 #define bench_mode_e_BENCH_STARTER_DISABLE_RELAY 2 #define bench_mode_e_BENCH_STARTER_ENABLE_RELAY 1 +#define bench_mode_e_BENCH_VVT_1_TARGET_BUMP 17 +#define bench_mode_e_BENCH_VVT_2_TARGET_BUMP 18 +#define bench_mode_e_BENCH_VVT_3_TARGET_BUMP 19 +#define bench_mode_e_BENCH_VVT_4_TARGET_BUMP 20 #define blend_table_s_size 188 #define BLOCKING_FACTOR 750 #define BOOST_BLEND_COUNT 2 @@ -188,17 +192,23 @@ #define dc_function_e_DC_Wastegate 3 #define dc_io_size 8 #define DC_PER_STEPPER 2 -#define debug_mode_e_auto_enum 0="DBG_0",10="DBG_10",11="DBG_11",16="DBG_16",2="DBG_2",20="DBG_20",24="DBG_24",25="DBG_25",26="DBG_26",29="DBG_29",34="DBG_34",35="DBG_35",36="DBG_36",37="DBG_37",38="DBG_38",43="DBG_43",46="DBG_46",7="DBG_7",8="DBG_8",9="DBG_9",21="DBG_ANALOG_INPUTS",32="DBG_ANALOG_INPUTS2",19="DBG_BENCH_TEST",40="DBG_COMPOSITE_LOG",33="DBG_DWELL_METRIC",44="DBG_DYNO_VIEW",17="DBG_ELECTRONIC_THROTTLE_PID",4="DBG_EL_ACCEL",39="DBG_ETB_AUTOTUNE",18="DBG_EXECUTOR",22="DBG_INSTANT_RPM",30="DBG_ION",15="DBG_KNOCK",45="DBG_LOGIC_ANALYZER",48="DBG_LUA",27="DBG_MAP",28="DBG_METRICS",13="DBG_SD_CARD",6="DBG_SOFT_SPARK_CUT",14="DBG_SR5_PROTOCOL",3="DBG_STEPPER_IDLE_CONTROL",47="DBG_TCU",31="DBG_TLE8888",1="DBG_TPS_ACCEL",5="DBG_TRIGGER_COUNTERS",12="DBG_UNUSED12",41="DBG_UNUSED41",42="DBG_UNUSED_42",23="UNUSED23" +#define debug_mode_e_auto_enum 0="DBG_0",10="DBG_10",11="DBG_11",12="DBG_12",13="DBG_13",15="DBG_15",16="DBG_16",19="DBG_19",2="DBG_2",20="DBG_20",21="DBG_21",24="DBG_24",25="DBG_25",26="DBG_26",29="DBG_29",32="DBG_32",34="DBG_34",35="DBG_35",36="DBG_36",37="DBG_37",38="DBG_38",43="DBG_43",46="DBG_46",6="DBG_6",7="DBG_7",8="DBG_8",9="DBG_9",40="DBG_COMPOSITE_LOG",33="DBG_DWELL_METRIC",44="DBG_DYNO_VIEW",17="DBG_ELECTRONIC_THROTTLE_PID",4="DBG_EL_ACCEL",39="DBG_ETB_AUTOTUNE",18="DBG_EXECUTOR",22="DBG_INSTANT_RPM",30="DBG_ION",45="DBG_LOGIC_ANALYZER",48="DBG_LUA",27="DBG_MAP",28="DBG_METRICS",14="DBG_SR5_PROTOCOL",3="DBG_STEPPER_IDLE_CONTROL",47="DBG_TCU",31="DBG_TLE8888",1="DBG_TPS_ACCEL",5="DBG_TRIGGER_COUNTERS",41="DBG_UNUSED41",42="DBG_UNUSED_42",23="UNUSED23" #define debug_mode_e_DBG_0 0 #define debug_mode_e_DBG_10 10 #define debug_mode_e_DBG_11 11 +#define debug_mode_e_DBG_12 12 +#define debug_mode_e_DBG_13 13 +#define debug_mode_e_DBG_15 15 #define debug_mode_e_DBG_16 16 +#define debug_mode_e_DBG_19 19 #define debug_mode_e_DBG_2 2 #define debug_mode_e_DBG_20 20 +#define debug_mode_e_DBG_21 21 #define debug_mode_e_DBG_24 24 #define debug_mode_e_DBG_25 25 #define debug_mode_e_DBG_26 26 #define debug_mode_e_DBG_29 29 +#define debug_mode_e_DBG_32 32 #define debug_mode_e_DBG_34 34 #define debug_mode_e_DBG_35 35 #define debug_mode_e_DBG_36 36 @@ -206,12 +216,10 @@ #define debug_mode_e_DBG_38 38 #define debug_mode_e_DBG_43 43 #define debug_mode_e_DBG_46 46 +#define debug_mode_e_DBG_6 6 #define debug_mode_e_DBG_7 7 #define debug_mode_e_DBG_8 8 #define debug_mode_e_DBG_9 9 -#define debug_mode_e_DBG_ANALOG_INPUTS 21 -#define debug_mode_e_DBG_ANALOG_INPUTS2 32 -#define debug_mode_e_DBG_BENCH_TEST 19 #define debug_mode_e_DBG_COMPOSITE_LOG 40 #define debug_mode_e_DBG_DWELL_METRIC 33 #define debug_mode_e_DBG_DYNO_VIEW 44 @@ -221,20 +229,16 @@ #define debug_mode_e_DBG_EXECUTOR 18 #define debug_mode_e_DBG_INSTANT_RPM 22 #define debug_mode_e_DBG_ION 30 -#define debug_mode_e_DBG_KNOCK 15 #define debug_mode_e_DBG_LOGIC_ANALYZER 45 #define debug_mode_e_DBG_LUA 48 #define debug_mode_e_DBG_MAP 27 #define debug_mode_e_DBG_METRICS 28 -#define debug_mode_e_DBG_SD_CARD 13 -#define debug_mode_e_DBG_SOFT_SPARK_CUT 6 #define debug_mode_e_DBG_SR5_PROTOCOL 14 #define debug_mode_e_DBG_STEPPER_IDLE_CONTROL 3 #define debug_mode_e_DBG_TCU 47 #define debug_mode_e_DBG_TLE8888 31 #define debug_mode_e_DBG_TPS_ACCEL 1 #define debug_mode_e_DBG_TRIGGER_COUNTERS 5 -#define debug_mode_e_DBG_UNUSED12 12 #define debug_mode_e_DBG_UNUSED41 41 #define debug_mode_e_DBG_UNUSED_42 42 #define debug_mode_e_enum "INVALID", "TPS acceleration enrichment", "INVALID", "Stepper Idle Control", "Engine Load accl enrich", "Trigger Counters", "Soft Spark Cut", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "SD card", "sr5", "Knock", "INVALID", "Electronic Throttle", "Executor", "Bench Test / TS commands", "INVALID", "Analog inputs #1", "INSTANT_RPM", "INVALID", "Status", "INVALID", "INVALID", "MAP", "Metrics", "INVALID", "Ion Sense", "TLE8888", "Analog inputs #2", "Dwell Metric", "INVALID", "INVALID", "Boost Control", "INVALID", "INVALID", "ETB Autotune", "Composite Log", "INVALID", "INVALID", "INVALID", "Dyno_View", "Logic_Analyzer", "INVALID", "TCU", "Lua" @@ -247,7 +251,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define engine_configuration_s_size 3696 +#define engine_configuration_s_size 3992 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" #define engine_load_mode_e_LM_ALPHA_N 2 @@ -268,7 +272,7 @@ #define ENGINE_MAKE_VAG "VAG" #define ENGINE_NOISE_CURVE_SIZE 16 #define ENGINE_SNIFFER_UNIT_US 10 -#define engine_type_e_auto_enum 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +#define engine_type_e_auto_enum 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" #define engine_type_e_BMW_M73_M 24 #define engine_type_e_BMW_M73_MRE 50 #define engine_type_e_BMW_M73_MRE_SLAVE 51 @@ -279,8 +283,6 @@ #define engine_type_e_DODGE_NEON_1995 2 #define engine_type_e_DODGE_NEON_2003_CRANK 46 #define engine_type_e_DODGE_RAM 64 -#define engine_type_e_ET_UNUSED_11 11 -#define engine_type_e_ET_UNUSED_12 12 #define engine_type_e_ET_UNUSED_13 13 #define engine_type_e_ET_UNUSED_15 15 #define engine_type_e_ET_UNUSED_17 17 @@ -342,6 +344,10 @@ #define engine_type_e_MRE_SUBARU_EJ18 37 #define engine_type_e_MRE_VW_B6 62 #define engine_type_e_NISSAN_PRIMERA 5 +#define engine_type_e_POLYGONUS_MIATA_MSM 12 +#define engine_type_e_POLYGONUS_MIATA_NA6 4 +#define engine_type_e_POLYGONUS_MIATA_NB1 11 +#define engine_type_e_POLYGONUS_MIATA_NB2 67 #define engine_type_e_PROTEUS_ANALOG_PWM_TEST 30 #define engine_type_e_PROTEUS_BMW_M73 63 #define engine_type_e_PROTEUS_E65_6H_MAN_IN_THE_MIDDLE 9 @@ -350,8 +356,6 @@ #define engine_type_e_PROTEUS_HONDA_K 90 #define engine_type_e_PROTEUS_HONDA_OBD2A 91 #define engine_type_e_PROTEUS_LUA_DEMO 25 -#define engine_type_e_PROTEUS_MIATA_NA6 4 -#define engine_type_e_PROTEUS_MIATA_NB2 67 #define engine_type_e_PROTEUS_QC_TEST_BOARD 42 #define engine_type_e_PROTEUS_VW_B6 39 #define engine_type_e_SACHS 29 @@ -377,7 +381,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 20011 +#define FLASH_DATA_VERSION 20013 #define FUEL_LEVEL_TABLE_COUNT 8 #define FUEL_LOAD_COUNT 16 #define fuel_pressure_sensor_mode_e_auto_enum 0="FPM_Absolute",2="FPM_Differential",1="FPM_Gauge" @@ -396,6 +400,8 @@ #define GAUGE_NAME_ACCEL_Z "Acceleration: Z" #define GAUGE_NAME_AFR "Air/Fuel Ratio" #define GAUGE_NAME_AFR2 "Air/Fuel Ratio 2" +#define GAUGE_NAME_AFR2_GAS_SCALE "Air/Fuel Ratio 2 (Gas Scale)" +#define GAUGE_NAME_AFR_GAS_SCALE "Air/Fuel Ratio (Gas Scale)" #define GAUGE_NAME_AIR_FLOW_ESTIMATE "Air: Flow estimate" #define GAUGE_NAME_AIR_FLOW_MEASURED "MAF" #define GAUGE_NAME_AIR_FLOW_MEASURED_2 "MAF #2" @@ -850,12 +856,6 @@ #define LUA_PWM_COUNT 8 #define LUA_SCRIPT_SIZE 8000 #define MAF_DECODING_COUNT 256 -#define maf_sensor_type_e_auto_enum 0="CUSTOM",2="Bosch0280218004",1="Bosch0280218037",3="DensoTODO" -#define maf_sensor_type_e_Bosch0280218004 2 -#define maf_sensor_type_e_Bosch0280218037 1 -#define maf_sensor_type_e_CUSTOM 0 -#define maf_sensor_type_e_DensoTODO 3 -#define maf_sensor_type_e_enum "v0", "v1", "v2", "v3" #define MAIN_HELP_URL "https://wiki.fome.tech/" #define MAP_ANGLE_SIZE 8 #define MAP_sensor_config_s_size 140 @@ -892,18 +892,8 @@ #define PACK_PERCENT_BYTE_MULT 100.0 #define PEDAL_TO_TPS_SIZE 8 #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 22820 +#define persistent_config_s_size 22996 #define pid_s_size 20 -#define PidAutoTune_AutoTunerState_AUTOTUNER_OFF 0 -#define PidAutoTune_AutoTunerState_CONVERGED 16 -#define PidAutoTune_AutoTunerState_FAILED 128 -#define PidAutoTune_AutoTunerState_RELAY_STEP_DOWN 8 -#define PidAutoTune_AutoTunerState_RELAY_STEP_UP 4 -#define PidAutoTune_AutoTunerState_STEADY_STATE_AFTER_STEP_UP 2 -#define PidAutoTune_AutoTunerState_STEADY_STATE_AT_BASELINE 1 -#define PidAutoTune_Peak_MAXIMUM 1 -#define PidAutoTune_Peak_MINIMUM -1 -#define PidAutoTune_Peak_NOT_A_PEAK 0 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" #define pin_input_mode_e_PI_DEFAULT 0 @@ -934,9 +924,8 @@ #define PROTOCOL_MSG "msg" #define PROTOCOL_OUTPIN "outpin" #define PROTOCOL_SIGNATURE_PREFIX "rusEFI " -#define PROTOCOL_TACH_NAME "tach" #define PROTOCOL_TEST_RESPONSE_TAG "ts_p_alive" -#define PROTOCOL_VERSION_TAG "rusEfiVersion" +#define PROTOCOL_VERSION_TAG "fomeVersion" #define PROTOCOL_VVT1_NAME "VVT1" #define PROTOCOL_VVT2_NAME "VVT2" #define PROTOCOL_VVT3_NAME "VVT3" @@ -979,7 +968,7 @@ #define show_Frankenso_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 2133657576 +#define SIGNATURE_HASH 650907108 #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 #define spi_device_e_SPI_DEVICE_2 2 @@ -1025,7 +1014,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22820 +#define TOTAL_CONFIG_SIZE 22996 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1047,7 +1036,7 @@ #define TRIGGER_IS_CRANK_KEY "crankBased" #define TRIGGER_IS_SECOND_WHEEL_CAM "isSecondWheelCam" #define TRIGGER_SIMULATOR_PIN_COUNT 2 -#define trigger_type_e_auto_enum 0="TT_TOOTHED_WHEEL",38="TT_12_TOOTH_CRANK",50="TT_1_16",25="TT_2JZ_3_34",70="TT_36_2_1",71="TT_36_2_1_1",23="TT_36_2_2_2",31="TT_3_1_CAM",20="TT_60_2_VW",21="TT_BENELLI_TRE",30="TT_CHRYSLER_NGC_36_2_2",6="TT_DAIHATSU",2="TT_DODGE_NEON_1995",39="TT_DODGE_NEON_1995_ONLY_CRANK",14="TT_DODGE_NEON_2003_CAM",32="TT_DODGE_NEON_2003_CRANK",19="TT_DODGE_RAM",22="TT_DODGE_STRATUS",41="TT_FIAT_IAW_P8",1="TT_FORD_ASPIRE",42="TT_FORD_ST170",65="TT_FORD_TFI_PIP",27="TT_GM_24x",74="TT_GM_24x_2",54="TT_GM_60_2_2_2",5="TT_GM_7X",28="TT_HONDA_CBR_600",67="TT_HONDA_K_CAM_4_1",46="TT_HONDA_K_CRANK_12_1",37="TT_JEEP_18_2_2_2",40="TT_JEEP_4_CYL",57="TT_KAWA_KX450F",15="TT_MAZDA_DOHC_1_4",3="TT_MAZDA_MIATA_NA",35="TT_MAZDA_MIATA_VVT_TEST",7="TT_MAZDA_SOHC_4",10="TT_MERCEDES_2_SEGMENT",33="TT_MIATA_VVT",11="TT_MITSUBISHI_4G93",4="TT_MITSUBISHI_MESS",34="TT_MITSU_4G63_CAM",29="TT_MITSU_4G9x_CAM",52="TT_NISSAN_MR18_CAM_VVT",68="TT_NISSAN_MR18_CRANK",61="TT_NISSAN_QR25",24="TT_NISSAN_SR20VE",60="TT_NISSAN_VQ30",58="TT_NISSAN_VQ35",18="TT_ONE",16="TT_ONE_PLUS_ONE",44="TT_RENIX_44_2_2",45="TT_RENIX_66_2_2_2",26="TT_ROVER_K",55="TT_SKODA_FAVORIT",36="TT_SUBARU_7_6",51="TT_SUBARU_7_WITHOUT_6",12="TT_SUBARU_EZ30",49="TT_SUBARU_SVX",64="TT_SUBARU_SVX_CAM_VVT",63="TT_SUBARU_SVX_CRANK_1",66="TT_SUZUKI_G13B",69="TT_TOOTHED_WHEEL_32_2",9="TT_TOOTHED_WHEEL_36_1",48="TT_TOOTHED_WHEEL_36_2",8="TT_TOOTHED_WHEEL_60_2",53="TT_TRI_TACH",75="TT_UNUSED",56="TT_VVT_BARRA_3_PLUS_1",47="TT_VVT_BOSCH_QUICK_START",17="TT_VVT_JZ",13="TT_VVT_MAZDA_SKYACTIV",43="TT_VVT_MIATA_NB",62="TT_VVT_MITSUBISHI_3A92",72="TT_VVT_MITSUBISHI_6G75",59="TT_VVT_NISSAN_VQ35",73="TT_VVT_TOYOTA_4_1" +#define trigger_type_e_auto_enum 0="TT_TOOTHED_WHEEL",38="TT_12_TOOTH_CRANK",50="TT_1_16",25="TT_2JZ_3_34",70="TT_36_2_1",71="TT_36_2_1_1",23="TT_36_2_2_2",31="TT_3_1_CAM",20="TT_60_2_VW",21="TT_BENELLI_TRE",30="TT_CHRYSLER_NGC_36_2_2",6="TT_DAIHATSU",2="TT_DODGE_NEON_1995",39="TT_DODGE_NEON_1995_ONLY_CRANK",14="TT_DODGE_NEON_2003_CAM",32="TT_DODGE_NEON_2003_CRANK",19="TT_DODGE_RAM",22="TT_DODGE_STRATUS",41="TT_FIAT_IAW_P8",1="TT_FORD_ASPIRE",42="TT_FORD_ST170",65="TT_FORD_TFI_PIP",27="TT_GM_24x",74="TT_GM_24x_2",54="TT_GM_60_2_2_2",5="TT_GM_7X",28="TT_HONDA_CBR_600",67="TT_HONDA_K_CAM_4_1",46="TT_HONDA_K_CRANK_12_1",37="TT_JEEP_18_2_2_2",40="TT_JEEP_4_CYL",57="TT_KAWA_KX450F",15="TT_MAZDA_DOHC_1_4",3="TT_MAZDA_MIATA_NA",35="TT_MAZDA_MIATA_VVT_TEST",7="TT_MAZDA_SOHC_4",10="TT_MERCEDES_2_SEGMENT",33="TT_MIATA_VVT",11="TT_MITSUBISHI_4G93",4="TT_MITSUBISHI_MESS",34="TT_MITSU_4G63_CAM",29="TT_MITSU_4G9x_CAM",52="TT_NISSAN_MR18_CAM_VVT",68="TT_NISSAN_MR18_CRANK",61="TT_NISSAN_QR25",24="TT_NISSAN_SR20VE",60="TT_NISSAN_VQ30",58="TT_NISSAN_VQ35",18="TT_ONE",16="TT_ONE_PLUS_ONE",44="TT_RENIX_44_2_2",45="TT_RENIX_66_2_2_2",26="TT_ROVER_K",55="TT_SKODA_FAVORIT",36="TT_SUBARU_7_6",51="TT_SUBARU_7_WITHOUT_6",12="TT_SUBARU_EZ30",49="TT_SUBARU_SVX",64="TT_SUBARU_SVX_CAM_VVT",63="TT_SUBARU_SVX_CRANK_1",66="TT_SUZUKI_G13B",69="TT_TOOTHED_WHEEL_32_2",9="TT_TOOTHED_WHEEL_36_1",48="TT_TOOTHED_WHEEL_36_2",8="TT_TOOTHED_WHEEL_60_2",53="TT_TRI_TACH",75="TT_UNUSED",56="TT_VVT_BARRA_3_PLUS_1",47="TT_VVT_BOSCH_QUICK_START",13="TT_VVT_MAZDA_SKYACTIV",43="TT_VVT_MIATA_NB",62="TT_VVT_MITSUBISHI_3A92",72="TT_VVT_MITSUBISHI_6G75",59="TT_VVT_NISSAN_VQ35",17="TT_VVT_TOYOTA_3_TOOTH",73="TT_VVT_TOYOTA_4_1" #define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Mitsubishi Mess 4", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Mitsubishi 4G93 11", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600", "Mitsubishi 4G92/93/94 Cam 29", "Honda CBR 600 custom", "3/1 skipped", "Dodge Neon 2003 crank", "Miata NB", "Mitsubishi 4G63 Cam 34", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12 tooth crank", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36/2", "Subaru SVX", "1+16", "Subaru 7 without 6", "INVALID", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "Mitsubishi 3A92", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32/2", "36-2-1", "36-2-1-1", "INVALID", "INVALID", "GM 24x 3 degree", "trg75" #define trigger_type_e_TT_12_TOOTH_CRANK 38 #define trigger_type_e_TT_1_16 50 @@ -1118,12 +1107,12 @@ #define trigger_type_e_TT_UNUSED 75 #define trigger_type_e_TT_VVT_BARRA_3_PLUS_1 56 #define trigger_type_e_TT_VVT_BOSCH_QUICK_START 47 -#define trigger_type_e_TT_VVT_JZ 17 #define trigger_type_e_TT_VVT_MAZDA_SKYACTIV 13 #define trigger_type_e_TT_VVT_MIATA_NB 43 #define trigger_type_e_TT_VVT_MITSUBISHI_3A92 62 #define trigger_type_e_TT_VVT_MITSUBISHI_6G75 72 #define trigger_type_e_TT_VVT_NISSAN_VQ35 59 +#define trigger_type_e_TT_VVT_TOYOTA_3_TOOTH 17 #define trigger_type_e_TT_VVT_TOYOTA_4_1 73 #define TRIGGER_TYPE_WITH_SECOND_WHEEL trigger_type == 1 || trigger_type == 3 || trigger_type == 11 || trigger_type == 15 || trigger_type == 16 || trigger_type == 19 || trigger_type == 25 || trigger_type == 28 || trigger_type == 31 || trigger_type == 35 || trigger_type == 36 || trigger_type == 37 || trigger_type == 40 || trigger_type == 49 || trigger_type == 50 || trigger_type == 53 || trigger_type == 54 || trigger_type == 63 || trigger_type == 64 #define TRIGGER_TYPE_WITHOUT_KNOWN_LOCATION trigger_type == 8 || trigger_type == 9 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73 @@ -1202,6 +1191,10 @@ #define TS_PERF_TRACE_GET_BUFFER 'b' #define TS_PERF_TRACE_GET_BUFFER_char b #define TS_PROTOCOL "001" +#define TS_QUERY_BOOTLOADER 'L' +#define TS_QUERY_BOOTLOADER_char L +#define TS_QUERY_BOOTLOADER_NONE 0 +#define TS_QUERY_BOOTLOADER_OPENBLT 1 #define TS_QUERY_COMMAND 'Q' #define TS_QUERY_COMMAND_char Q #define TS_READ_COMMAND 'R' @@ -1244,7 +1237,7 @@ #define ts_show_vbatt true #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.subaru_eg33_f7.2133657576" +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.subaru_eg33_f7.650907108" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' @@ -1287,9 +1280,8 @@ #define VOLTAGE_1_BYTE_PACKING_DIV 0.02 #define VR_THRESHOLD_COUNT 2 #define vr_threshold_s_size 16 -#define vvt_mode_e_auto_enum 0="VVT_INACTIVE",2="VVT_2JZ",8="VVT_BARRA_3_PLUS_1",5="VVT_BOSCH_QUICK_START",7="VVT_FORD_ST170",16="VVT_HONDA_K_EXHAUST",10="VVT_HONDA_K_INTAKE",13="VVT_MAP_V_TWIN",15="VVT_MAZDA_SKYACTIV",3="VVT_MIATA_NB",12="VVT_MITSUBISHI_3A92",18="VVT_MITSUBISHI_4G63",17="VVT_MITSUBISHI_4G9x",14="VVT_MITSUBISHI_6G75",11="VVT_NISSAN_MR",9="VVT_NISSAN_VQ",1="VVT_SINGLE_TOOTH",6="VVT_TOYOTA_4_1" -#define vvt_mode_e_enum "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -#define vvt_mode_e_VVT_2JZ 2 +#define vvt_mode_e_auto_enum 0="VVT_INACTIVE",8="VVT_BARRA_3_PLUS_1",5="VVT_BOSCH_QUICK_START",7="VVT_FORD_ST170",16="VVT_HONDA_K_EXHAUST",10="VVT_HONDA_K_INTAKE",13="VVT_MAP_V_TWIN",15="VVT_MAZDA_SKYACTIV",3="VVT_MIATA_NB",12="VVT_MITSUBISHI_3A92",18="VVT_MITSUBISHI_4G63",17="VVT_MITSUBISHI_4G9x",14="VVT_MITSUBISHI_6G75",11="VVT_NISSAN_MR",9="VVT_NISSAN_VQ",1="VVT_SINGLE_TOOTH",2="VVT_TOYOTA_3_TOOTH",6="VVT_TOYOTA_4_1" +#define vvt_mode_e_enum "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" #define vvt_mode_e_VVT_BARRA_3_PLUS_1 8 #define vvt_mode_e_VVT_BOSCH_QUICK_START 5 #define vvt_mode_e_VVT_FORD_ST170 7 @@ -1306,5 +1298,6 @@ #define vvt_mode_e_VVT_NISSAN_MR 11 #define vvt_mode_e_VVT_NISSAN_VQ 9 #define vvt_mode_e_VVT_SINGLE_TOOTH 1 +#define vvt_mode_e_VVT_TOYOTA_3_TOOTH 2 #define vvt_mode_e_VVT_TOYOTA_4_1 6 #define WWAE_TABLE_SIZE 8 diff --git a/firmware/config/engines/custom_engine.cpp b/firmware/config/engines/custom_engine.cpp index dc378e2f99..29416467d7 100644 --- a/firmware/config/engines/custom_engine.cpp +++ b/firmware/config/engines/custom_engine.cpp @@ -17,7 +17,6 @@ #include "mre_meta.h" #include "proteus_meta.h" #include "hellen_meta.h" -#include "odometer.h" #include "defaults.h" #if EFI_ELECTRONIC_THROTTLE_BODY @@ -313,7 +312,6 @@ void setTle8888TestConfiguration() { engineConfiguration->spi1misoPin = Gpio::B4; engineConfiguration->spi1sckPin = Gpio::B3; // please note that this pin is also SWO/SWD - Single Wire debug Output engineConfiguration->is_enabled_spi_1 = true; - engineConfiguration->debugMode = DBG_TLE8888; engineConfiguration->fuelPumpPin = Gpio::TLE8888_PIN_20; #endif /* BOARD_TLE8888_COUNT */ @@ -374,8 +372,6 @@ void setTle8888TestConfiguration() { */ static void mreBoardOldTest() { #if (BOARD_TLE8888_COUNT > 0) - engineConfiguration->debugMode = DBG_TLE8888; - engineConfiguration->triggerSimulatorRpm = 202; // set cranking_rpm 500 engineConfiguration->cranking.rpm = 100; diff --git a/firmware/config/engines/ford_festiva.cpp b/firmware/config/engines/ford_festiva.cpp index a7c882b968..74e36b56d0 100644 --- a/firmware/config/engines/ford_festiva.cpp +++ b/firmware/config/engines/ford_festiva.cpp @@ -68,8 +68,6 @@ void setFordEscortGt() { engineConfiguration->trigger.type = trigger_type_e::TT_MAZDA_DOHC_1_4; - setDensoTODO(config); - engineConfiguration->globalFuelCorrection = 0.75; engineConfiguration->displacement = 1.839; setAlgorithm(LM_SPEED_DENSITY); diff --git a/firmware/config/engines/honda_k_dbc.cpp b/firmware/config/engines/honda_k_dbc.cpp index 16fdff4817..70164fe2ab 100644 --- a/firmware/config/engines/honda_k_dbc.cpp +++ b/firmware/config/engines/honda_k_dbc.cpp @@ -66,9 +66,6 @@ void setProteusHondaElement2003() { strcpy(engineConfiguration->vehicleName, "test"); - gppwm_channel *vtsControl = &engineConfiguration->gppwm[0]; - - #if HW_PROTEUS & EFI_PROD_CODE // engineConfiguration->triggerInputPins[0] = PROTEUS_DIGITAL_2; // crank // engineConfiguration->camInputs[0] = PROTEUS_DIGITAL_4; // intake @@ -85,6 +82,7 @@ void setProteusHondaElement2003() { engineConfiguration->injectionPins[2] = PROTEUS_LS_6; engineConfiguration->injectionPins[3] = PROTEUS_LS_5; + gppwm_channel *vtsControl = &engineConfiguration->gppwm[0]; vtsControl->pin = PROTEUS_HS_1; engineConfiguration->vvtPins[0] = PROTEUS_HS_2; diff --git a/firmware/config/engines/mazda_miata_1_6.cpp b/firmware/config/engines/mazda_miata_1_6.cpp index cca5a1846b..45b0ef5534 100644 --- a/firmware/config/engines/mazda_miata_1_6.cpp +++ b/firmware/config/engines/mazda_miata_1_6.cpp @@ -86,7 +86,7 @@ void miataNAcommonEngineSettings() { strcpy(engineConfiguration->engineMake, ENGINE_MAKE_MAZDA); strcpy(engineConfiguration->engineCode, "NA6"); engineConfiguration->vehicleWeight = 950; - engineConfiguration->compressionRatio = 9.1; + engineConfiguration->compressionRatio = 9.0; engineConfiguration->injectionMode = IM_BATCH; engineConfiguration->ignitionMode = IM_WASTED_SPARK; @@ -95,21 +95,23 @@ void miataNAcommonEngineSettings() { engineConfiguration->trigger.type = trigger_type_e::TT_MAZDA_MIATA_NA; // Cranking + engineConfiguration->primingDelay = 1.0; + engineConfiguration->cranking.rpm = 400; engineConfiguration->crankingTimingAngle = 10; engineConfiguration->cranking.baseFuel = 27.5; - config->crankingFuelCoef[0] = 2.8; // base cranking fuel adjustment coefficient + config->crankingFuelCoef[0] = 3.36; // base cranking fuel adjustment coefficient config->crankingFuelBins[0] = -20; // temperature in C - config->crankingFuelCoef[1] = 2.2; + config->crankingFuelCoef[1] = 2.97; config->crankingFuelBins[1] = -10; - config->crankingFuelCoef[2] = 1.8; + config->crankingFuelCoef[2] = 2.69; config->crankingFuelBins[2] = 5; - config->crankingFuelCoef[3] = 1.5; + config->crankingFuelCoef[3] = 2.15; config->crankingFuelBins[3] = 30; - config->crankingFuelCoef[4] = 1.0; - config->crankingFuelBins[4] = 35; - config->crankingFuelCoef[5] = 1.0; + config->crankingFuelCoef[4] = 1.78; + config->crankingFuelBins[4] = 40; + config->crankingFuelCoef[5] = 1.47; config->crankingFuelBins[5] = 50; config->crankingFuelCoef[6] = 1.0; config->crankingFuelBins[6] = 65; @@ -135,6 +137,11 @@ void miataNAcommonEngineSettings() { engineConfiguration->idleTimingPid.minValue = -15; engineConfiguration->idleTimingPid.maxValue = 15; + // Idle timing + static const uint16_t idleAdvanceBins[] = { 500, 650, 800, 950, 1050, 1200, 1350, 1500 }; + copyArray(config->idleAdvanceBins, idleAdvanceBins); + setArrayValues(config->idleAdvance, 15); + // Fan engineConfiguration->enableFan1WithAc = true; engineConfiguration->enableFan2WithAc = true; @@ -154,17 +161,25 @@ void miataNAcommonEngineSettings() { setMapVeTable(); setTable(config->injectionPhase, 400); + static const float cltFuelMultValues[] = { 1.25, 1.23, 1.2, 1.18, 1.16, 1.14, 1.11, 1.09, 1.07, 1.05, 1.02, 1, 1, 1, 1, 1 }; + copyArray(config->cltFuelCorr, cltFuelMultValues); + /** * http://miataturbo.wikidot.com/fuel-injectors * 90-93 (Blue) - #195500-1970 */ engineConfiguration->injector.flow = 212; + static const float deadtimeBins[] = { 8, 9.6, 11.2, 12.8, 13.2, 14.4, 15.3, 16 }; + static const float deadtimeValues[] = { 1.97, 1.52, 1.23, 1.04, 0.99, 0.9, 0.85, 0.73 }; + copyArray(engineConfiguration->injector.battLagCorrBins, deadtimeBins); + copyArray(engineConfiguration->injector.battLagCorr, deadtimeValues); + // Sensors // TPS // my car was originally a manual so proper TPS - engineConfiguration->tpsMin = 100; // convert 12to10 bit (ADC/4) - engineConfiguration->tpsMax = 650; // convert 12to10 bit (ADC/4) + engineConfiguration->tpsMin = 92; + engineConfiguration->tpsMax = 872; // CLT/IAT engineConfiguration->clt.config = { -20, 40, 80, 16150, 1150, 330, 2700 }; @@ -193,6 +208,14 @@ void miataNAcommonEngineSettings() { // 4.3 * 6 / 23 ~= 1.12 engineConfiguration->vssGearRatio = 4.3 * 6 / 23; engineConfiguration->vssToothCount = 4; + + // Set up closed loop fuel + engineConfiguration->fuelClosedLoopCorrectionEnabled = true; + engineConfiguration->stft.minAfr = 10; + engineConfiguration->stft.cellCfgs[0] = { 5, -5, 5 }; + engineConfiguration->stft.cellCfgs[1] = { 15, -15, 10 }; + engineConfiguration->stft.cellCfgs[2] = { 15, -15, 1 }; + engineConfiguration->stft.cellCfgs[3] = { 5, -5, 30 }; } static void miataNAcommon() { @@ -267,8 +290,6 @@ void setMiataNA6_MAP_MRE() { engineConfiguration->useIacTableForCoasting = true; engineConfiguration->idlePidDeactivationTpsThreshold = 90; -// engineConfiguration->isVerboseIAC = true; - engineConfiguration->idleRpmPid.pFactor = 0.01; engineConfiguration->idleRpmPid.iFactor = 0.02; engineConfiguration->idle_derivativeFilterLoss = 0.1; @@ -362,9 +383,10 @@ void setHellenNA6() { engineConfiguration->map.sensor.type = MT_MPX4250; } +#if HW_PROTEUS #include "proteus_meta.h" -void setMiataNa6_Proteus() { +void setMiataNa6_Polygonus() { miataNAcommonEngineSettings(); // Triggers @@ -381,11 +403,22 @@ void setMiataNa6_Proteus() { engineConfiguration->tps1_1AdcChannel = PROTEUS_IN_ANALOG_VOLT_2; - engineConfiguration->acSwitch = PROTEUS_DIGITAL_4; +#if EFI_PROD_CODE + engineConfiguration->clutchDownPin = getAdcChannelBrainPin("", PROTEUS_IN_ANALOG_VOLT_5); +#endif // EFI_PROD_CODE + engineConfiguration->clutchDownPinInverted = true; + + // Fuel pressure + engineConfiguration->lowPressureFuel.hwChannel = PROTEUS_IN_ANALOG_VOLT_6; + engineConfiguration->lowPressureFuel.v1 = 0.5; + engineConfiguration->lowPressureFuel.value1 = 0; + engineConfiguration->lowPressureFuel.v2 = 4.5; + engineConfiguration->lowPressureFuel.value2 = 689.5; // Built in wideband controller on bus 2 engineConfiguration->enableAemXSeries = true; engineConfiguration->widebandOnSecondBus = true; + engineConfiguration->enableVerboseCanTx = true; // Outputs engineConfiguration->fuelPumpPin = PROTEUS_LS_9; @@ -393,11 +426,17 @@ void setMiataNa6_Proteus() { engineConfiguration->idle.solenoidPin = PROTEUS_LS_7; // TODO: which is fan 1 or 2? - engineConfiguration->fanPin = PROTEUS_LS_5; - // engineConfiguration->fan2Pin = PROTEUS_LS_5; - engineConfiguration->acRelayPin = PROTEUS_LS_10; + engineConfiguration->fanPin = PROTEUS_LS_8; + engineConfiguration->fanOnTemperature = 90; + engineConfiguration->fanOffTemperature = 84; - engineConfiguration->tachOutputPin = PROTEUS_LS_12; + engineConfiguration->acSwitch = PROTEUS_DIGITAL_4; + engineConfiguration->acRelayPin = PROTEUS_LS_10; engineConfiguration->malfunctionIndicatorPin = PROTEUS_LS_11; + + // Disable ETBs + engineConfiguration->etbFunctions[0] = dc_function_e::DC_None; + engineConfiguration->etbFunctions[1] = dc_function_e::DC_None; } +#endif diff --git a/firmware/config/engines/mazda_miata_1_6.h b/firmware/config/engines/mazda_miata_1_6.h index 39ff017db7..043bf822f1 100644 --- a/firmware/config/engines/mazda_miata_1_6.h +++ b/firmware/config/engines/mazda_miata_1_6.h @@ -29,4 +29,4 @@ void setHellenNA6(); void setHellenNA94(); -void setMiataNa6_Proteus(); +void setMiataNa6_Polygonus(); diff --git a/firmware/config/engines/mazda_miata_vvt.cpp b/firmware/config/engines/mazda_miata_vvt.cpp index 99a3d371b4..aadf583c04 100644 --- a/firmware/config/engines/mazda_miata_vvt.cpp +++ b/firmware/config/engines/mazda_miata_vvt.cpp @@ -59,34 +59,18 @@ #include "mre_meta.h" -static const float injectorLagBins[VBAT_INJECTOR_CURVE_SIZE] = { - 6.0, 8.0, 10.0, 11.0, - 12.0, 13.0, 14.0, 15.0 -}; - -static const float injectorLagCorrection[VBAT_INJECTOR_CURVE_SIZE] = { - 4.0 , 3.0 , 2.0 , 1.7, - 1.5 , 1.35, 1.25 , 1.20 -}; - -static const float vvt18fsioRpmBins[SCRIPT_TABLE_8] = -{700.0, 1000.0, 2000.0, 3000.0, 3500.0, 4500.0, 5500.0, 6500.0} -; - -static const float vvt18fsioLoadBins[SCRIPT_TABLE_8] = -{30.0, 40.0, 50.0, 60.0, 70.0, 75.0, 82.0, 85.0} -; - -static const uint8_t SCRIPT_TABLE_vvt_target[SCRIPT_TABLE_8][SCRIPT_TABLE_8] = { - /* Generated by TS2C on Mon Feb 13 19:11:32 EST 2017*/ - {/* 0 30 *//* 0 700.0*/1, /* 1 1000.0*/3, /* 2 2000.0*/10, /* 3 3000.0*/20, /* 4 3500.0*/27, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, }, - {/* 1 40 *//* 0 700.0*/3, /* 1 1000.0*/10, /* 2 2000.0*/19, /* 3 3000.0*/26, /* 4 3500.0*/30, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, }, - {/* 2 50 *//* 0 700.0*/7, /* 1 1000.0*/16, /* 2 2000.0*/24, /* 3 3000.0*/28, /* 4 3500.0*/30, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, }, - {/* 3 60 *//* 0 700.0*/11, /* 1 1000.0*/20, /* 2 2000.0*/27, /* 3 3000.0*/28, /* 4 3500.0*/30, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, }, - {/* 4 70 *//* 0 700.0*/13, /* 1 1000.0*/24, /* 2 2000.0*/31, /* 3 3000.0*/28, /* 4 3500.0*/30, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, }, - {/* 5 75 *//* 0 700.0*/15, /* 1 1000.0*/27, /* 2 2000.0*/33, /* 3 3000.0*/28, /* 4 3500.0*/30, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, }, - {/* 6 82 *//* 0 700.0*/17, /* 1 1000.0*/28, /* 2 2000.0*/33, /* 3 3000.0*/28, /* 4 3500.0*/30, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, }, - {/* 7 85 *//* 0 700.0*/17, /* 1 1000.0*/28, /* 2 2000.0*/33, /* 3 3000.0*/28, /* 4 3500.0*/30, /* 5 4500.0*/28, /* 6 5500.0*/11, /* 7 6500.0*/5, }, +static const uint16_t vvt18fsioRpmBins[] = { 950, 1800, 2500, 3300, 4200, 5000, 6000, 7200 }; +static const uint8_t vvt18fsioLoadBins[] = { 30, 40, 50, 60, 70, 75, 82, 100 }; + +static const uint8_t SCRIPT_TABLE_vvt_target[8][8] = { + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 0, 0, 15, 15, 15, 15, 0, 0 }, + { 0, 0, 15, 20, 20, 15, 0, 0 }, + { 8, 15, 18, 20, 20, 18, 15, 8 }, + { 8, 15, 20, 20, 20, 18, 15, 8 }, + { 8, 15, 25, 25, 23, 20, 12, 8 }, + { 12, 19, 29, 29, 27, 20, 4, 0 }, + { 12, 19, 29, 29, 27, 20, 5, 1 }, }; const float mazda_miata_nb2_RpmBins[FUEL_RPM_COUNT] = {700.0, 820.0, 950.0, 1100.0, @@ -228,8 +212,10 @@ static void setMAFTransferFunction() { } static void setMazdaMiataNbInjectorLag() { - copyArray(engineConfiguration->injector.battLagCorr, injectorLagCorrection); - copyArray(engineConfiguration->injector.battLagCorrBins, injectorLagBins); + static const float deadtimeBins[] = { 8, 9.6, 11.2, 12.8, 13.2, 14.4, 15.3, 16 }; + static const float deadtimeValues[] = { 1.97, 1.52, 1.23, 1.04, 0.99, 0.9, 0.85, 0.73 }; + copyArray(engineConfiguration->injector.battLagCorrBins, deadtimeBins); + copyArray(engineConfiguration->injector.battLagCorr, deadtimeValues); } /** @@ -245,15 +231,27 @@ static void setCommonMazdaNB() { engineConfiguration->cylinderBore = 83; strcpy(engineConfiguration->engineMake, ENGINE_MAKE_MAZDA); - engineConfiguration->vehicleWeight = 1070; + engineConfiguration->vehicleWeight = 950; + + /** + * http://miataturbo.wikidot.com/fuel-injectors + * 01-05 (purple) - #195500-4060 + */ + engineConfiguration->injector.flow = 265; + engineConfiguration->fuelReferencePressure = 400; // 400 kPa, 58 psi + engineConfiguration->injectorCompensationMode = ICM_FixedRailPressure; + engineConfiguration->injectionMode = IM_SEQUENTIAL; engineConfiguration->ignitionMode = IM_WASTED_SPARK; + static const float cltFuelMultValues[] = { 1.25, 1.23, 1.2, 1.18, 1.16, 1.14, 1.11, 1.09, 1.07, 1.05, 1.02, 1, 1, 1, 1, 1 }; + copyArray(config->cltFuelCorr, cltFuelMultValues); + // Trigger engineConfiguration->trigger.type = trigger_type_e::TT_MIATA_VVT; + engineConfiguration->globalTriggerAngleOffset = 10; engineConfiguration->vvtMode[0] = VVT_MIATA_NB; - engineConfiguration->vvtOffsets[0] = 98; // Cranking engineConfiguration->ignitionDwellForCrankingMs = 4; @@ -262,6 +260,25 @@ static void setCommonMazdaNB() { engineConfiguration->crankingIACposition = 60; engineConfiguration->afterCrankingIACtaperDuration = 250; + engineConfiguration->primingDelay = 1; + + config->crankingFuelCoef[0] = 3.36; + config->crankingFuelBins[0] = -20; + config->crankingFuelCoef[1] = 2.97; + config->crankingFuelBins[1] = -10; + config->crankingFuelCoef[2] = 2.69; + config->crankingFuelBins[2] = 5; + config->crankingFuelCoef[3] = 2.15; + config->crankingFuelBins[3] = 30; + config->crankingFuelCoef[4] = 1.78; + config->crankingFuelBins[4] = 40; + config->crankingFuelCoef[5] = 1.47; + config->crankingFuelBins[5] = 50; + config->crankingFuelCoef[6] = 1.0; + config->crankingFuelBins[6] = 65; + config->crankingFuelCoef[7] = 1.0; + config->crankingFuelBins[7] = 90; + // Idle engineConfiguration->idle.solenoidFrequency = 500; engineConfiguration->idleMode = IM_AUTO; @@ -283,6 +300,11 @@ static void setCommonMazdaNB() { engineConfiguration->idlerpmpid_iTermMin = -15; engineConfiguration->idlerpmpid_iTermMax = 30; + // Idle timing + static const uint16_t idleAdvanceBins[] = { 500, 650, 800, 950, 1050, 1200, 1350, 1500 }; + copyArray(config->idleAdvanceBins, idleAdvanceBins); + setArrayValues(config->idleAdvance, 15); + // Fan engineConfiguration->enableFan1WithAc = true; @@ -290,11 +312,17 @@ static void setCommonMazdaNB() { engineConfiguration->isAlternatorControlEnabled = true; engineConfiguration->targetVBatt = 14.0f; engineConfiguration->alternatorControl.offset = 20; - engineConfiguration->alternatorControl.pFactor = 16; + engineConfiguration->alternatorControl.pFactor = 20; engineConfiguration->alternatorControl.iFactor = 8; engineConfiguration->alternatorControl.dFactor = 0.1; engineConfiguration->alternatorControl.periodMs = 10; + // AC + engineConfiguration->acDelay = 0.5; + engineConfiguration->maxAcClt = 105; + engineConfiguration->acIdleExtraOffset = 8; + engineConfiguration->acIdleRpmBump = 150; + // Tach engineConfiguration->tachPulsePerRev = 2; @@ -320,8 +348,8 @@ static void setCommonMazdaNB() { engineConfiguration->tpsMax = 650; // convert 12to10 bit (ADC/4) // CLT/IAT - setCommonNTCSensor(&engineConfiguration->clt, 2700); - setCommonNTCSensor(&engineConfiguration->iat, 2700); + engineConfiguration->clt.config = { -10, 20, 80, 9000, 2500, 320, 0 }; + engineConfiguration->iat.config = { -20, 40, 80, 16150, 1150, 330, 0 }; // MAF (todo: do we use this?) setMAFTransferFunction(); @@ -349,7 +377,9 @@ static void setCommonMazdaNB() { static void setMazdaMiataEngineNB1Defaults() { setCommonMazdaNB(); + strcpy(engineConfiguration->engineCode, "NB1"); + engineConfiguration->compressionRatio = 9.5; // Vehicle speed/gears engineConfiguration->totalGearsCount = 5; @@ -365,29 +395,25 @@ static void setMazdaMiataEngineNB1Defaults() { } static void setMazdaMiataEngineNB2Defaults() { - strcpy(engineConfiguration->engineCode, "NB2"); - - /** - * http://miataturbo.wikidot.com/fuel-injectors - * 01-05 (purple) - #195500-4060 - */ - engineConfiguration->injector.flow = 265; - engineConfiguration->fuelReferencePressure = 400; // 400 kPa, 58 psi - engineConfiguration->injectorCompensationMode = ICM_FixedRailPressure; - setCommonMazdaNB(); + strcpy(engineConfiguration->engineCode, "NB2"); + engineConfiguration->compressionRatio = 10; + copyArray(config->vvtTable1RpmBins, vvt18fsioRpmBins); copyArray(config->vvtTable1LoadBins, vvt18fsioLoadBins); copyTable(config->vvtTable1, SCRIPT_TABLE_vvt_target); + engineConfiguration->vvtOffsets[0] = 95; + // VVT closed loop engineConfiguration->auxPid[0].pFactor = 2; engineConfiguration->auxPid[0].iFactor = 0.005; engineConfiguration->auxPid[0].dFactor = 0.002; engineConfiguration->auxPid[0].offset = 33; - engineConfiguration->auxPid[0].minValue = 20; + engineConfiguration->auxPid[0].minValue = 10; engineConfiguration->auxPid[0].maxValue = 90; + engineConfiguration->vvtControlMinRpm = 400; // Vehicle speed/gears engineConfiguration->totalGearsCount = 6; @@ -426,9 +452,6 @@ void setMazdaMiata2003EngineConfiguration() { // high-side driver with +12v VP jumper engineConfiguration->tachOutputPin = Gpio::E8; // tachometer - // set global_trigger_offset_angle 0 - engineConfiguration->globalTriggerAngleOffset = 0; - // enable trigger_details engineConfiguration->verboseTriggerSynchDetails = false; @@ -484,8 +507,6 @@ void setMazdaMiata2003EngineConfiguration() { engineConfiguration->scriptSetting[3] = 12.0; // #4 voltage threshold // enable auto_idle - // enable verbose_idle - engineConfiguration->isVerboseIAC = false; // set idle_p 0.05 // set idle_i 0 // set idle_d 0 @@ -529,24 +550,6 @@ void setMazdaMiata2003EngineConfiguration() { engineConfiguration->etb.offset = 40; engineConfiguration->etb.minValue = -60; engineConfiguration->etb.maxValue = 50; - - config->crankingFuelCoef[0] = 2.8; // base cranking fuel adjustment coefficient - config->crankingFuelBins[0] = -20; // temperature in C - config->crankingFuelCoef[1] = 2.2; - config->crankingFuelBins[1] = -10; - config->crankingFuelCoef[2] = 1.8; - config->crankingFuelBins[2] = 5; - config->crankingFuelCoef[3] = 1.5; - config->crankingFuelBins[3] = 30; - - config->crankingFuelCoef[4] = 1.0; - config->crankingFuelBins[4] = 35; - config->crankingFuelCoef[5] = 1.0; - config->crankingFuelBins[5] = 50; - config->crankingFuelCoef[6] = 1.0; - config->crankingFuelBins[6] = 65; - config->crankingFuelCoef[7] = 1.0; - config->crankingFuelBins[7] = 90; } /** @@ -689,68 +692,149 @@ void setMiataNB2_Proteus_TCU() { } -/** - * https://github.com/rusefi/rusefi/wiki/HOWTO-Miata-NB2-on-Proteus - */ -void setMiataNB2_Proteus() { - setMazdaMiataEngineNB2Defaults(); +void setMiataNbPolygonusCommon() { + engineConfiguration->triggerInputPins[0] = PROTEUS_VR_1; + engineConfiguration->vehicleSpeedSensorInputPin = PROTEUS_DIGITAL_3; + + engineConfiguration->alternatorControlPin = PROTEUS_HS_1; + + // high-side driver with +12v VP jumper + engineConfiguration->tachOutputPin = PROTEUS_LS_14; // tachometer + engineConfiguration->tachPulsePerRev = 2; + + engineConfiguration->ignitionMode = IM_WASTED_SPARK; + + engineConfiguration->ignitionPins[0] = PROTEUS_IGN_1; + engineConfiguration->ignitionPins[1] = PROTEUS_IGN_2; + engineConfiguration->ignitionPins[2] = PROTEUS_IGN_3; + engineConfiguration->ignitionPins[3] = PROTEUS_IGN_4; + + engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS; + engineConfiguration->injectionMode = IM_SEQUENTIAL; - engineConfiguration->triggerInputPins[0] = Gpio::C6; // pin 10/black23 - engineConfiguration->triggerInputPins[1] = Gpio::Unassigned; - engineConfiguration->camInputs[0] = Gpio::E11; // pin 1/black23 - engineConfiguration->alternatorControlPin = Gpio::A8; // "Highside 2" # pin 1/black35 + engineConfiguration->injectionPins[0] = PROTEUS_LS_1; // BLU # pin 3/black35 + engineConfiguration->injectionPins[1] = PROTEUS_LS_2; // BLK + engineConfiguration->injectionPins[2] = PROTEUS_LS_3; // GRN + engineConfiguration->injectionPins[3] = PROTEUS_LS_4; // WHT - engineConfiguration->vvtPins[0] = Gpio::B5; // VVT solenoid control # pin 8/black35 + engineConfiguration->enableSoftwareKnock = true; + engineConfiguration->cylinderBore = 78; + engineConfiguration->knockBandCustom = 6.8; - // high-side driver with +12v VP jumper - engineConfiguration->tachOutputPin = Gpio::A9; // tachometer - engineConfiguration->tachPulsePerRev = 2; + engineConfiguration->malfunctionIndicatorPin = PROTEUS_LS_11; - engineConfiguration->ignitionMode = IM_WASTED_SPARK; + engineConfiguration->map.sensor.hwChannel = PROTEUS_IN_ANALOG_VOLT_1; + engineConfiguration->map.sensor.type = MT_MPXH6400; - #if EFI_PROD_CODE - engineConfiguration->ignitionPins[0] = PROTEUS_IGN_1; - engineConfiguration->ignitionPins[1] = Gpio::Unassigned; - engineConfiguration->ignitionPins[2] = PROTEUS_IGN_3; - engineConfiguration->ignitionPins[3] = Gpio::Unassigned; - engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS; - engineConfiguration->injectionMode = IM_SEQUENTIAL; + engineConfiguration->tps1_1AdcChannel = PROTEUS_IN_ANALOG_VOLT_3; + engineConfiguration->clt.adcChannel = PROTEUS_IN_ANALOG_TEMP_3; + engineConfiguration->iat.adcChannel = PROTEUS_IN_ANALOG_TEMP_2; - engineConfiguration->injectionPins[0] = PROTEUS_LS_1; // BLU # pin 3/black35 - engineConfiguration->injectionPins[1] = PROTEUS_LS_2; // BLK - engineConfiguration->injectionPins[2] = PROTEUS_LS_3; // GRN - engineConfiguration->injectionPins[3] = PROTEUS_LS_4; // WHT + engineConfiguration->fuelPumpPin = PROTEUS_LS_7; - engineConfiguration->enableSoftwareKnock = true; + engineConfiguration->idle.solenoidPin = PROTEUS_LS_10; - engineConfiguration->malfunctionIndicatorPin = PROTEUS_LS_10; + // Built in wideband controller on bus 2 + engineConfiguration->enableAemXSeries = true; + engineConfiguration->widebandOnSecondBus = true; + engineConfiguration->enableVerboseCanTx = true; - engineConfiguration->map.sensor.hwChannel = PROTEUS_IN_MAP; + engineConfiguration->fanPin = PROTEUS_LS_6; + engineConfiguration->fanOnTemperature = 90; + engineConfiguration->fanOffTemperature = 84; + engineConfiguration->fan2Pin = PROTEUS_LS_5; + engineConfiguration->enableFan2WithAc = true; - engineConfiguration->afr.hwChannel = EFI_ADC_11; + engineConfiguration->clutchDownPin = PROTEUS_DIGITAL_4; + engineConfiguration->clutchDownPinInverted = true; - engineConfiguration->mafAdcChannel = EFI_ADC_13; // PA6 W46 <> W46 +#if EFI_PROD_CODE + engineConfiguration->brakePedalPin = getAdcChannelBrainPin("", PROTEUS_IN_ANALOG_VOLT_5); +#endif // EFI_PROD_CODE - engineConfiguration->tps1_1AdcChannel = EFI_ADC_12; + engineConfiguration->acRelayPin = PROTEUS_LS_8; - engineConfiguration->clt.adcChannel = PROTEUS_IN_ANALOG_TEMP_1; - engineConfiguration->iat.adcChannel = PROTEUS_IN_ANALOG_TEMP_3; + // Disable ETBs + engineConfiguration->etbFunctions[0] = dc_function_e::DC_None; + engineConfiguration->etbFunctions[1] = dc_function_e::DC_None; +} - engineConfiguration->fuelPumpPin = PROTEUS_LS_6; +void setMiataNB1_Polygonus() { + setMazdaMiataEngineNB1Defaults(); + setMiataNbPolygonusCommon(); + + engineConfiguration->camInputs[0] = PROTEUS_VR_2; + + engineConfiguration->tpsMin = 102; + engineConfiguration->tpsMax = 727; + + engineConfiguration->acSwitch = PROTEUS_DIGITAL_6; + + // Fuel pressure + engineConfiguration->lowPressureFuel.hwChannel = PROTEUS_IN_ANALOG_VOLT_6; + engineConfiguration->lowPressureFuel.v1 = 0.5; + engineConfiguration->lowPressureFuel.value1 = 0; + engineConfiguration->lowPressureFuel.v2 = 4.5; + engineConfiguration->lowPressureFuel.value2 = 689.5; + + // GPPWM1: VICS variable intake flap + engineConfiguration->gppwm[0].pin = PROTEUS_LS_16; + engineConfiguration->gppwm[0].pwmFrequency = 0; + engineConfiguration->gppwm[0].loadAxis = GPPWM_Tps; + engineConfiguration->gppwm[0].onAboveDuty = 60; + engineConfiguration->gppwm[0].offBelowDuty = 40; + strcpy(engineConfiguration->gpPwmNote[0], "VICS"); + copyArray(engineConfiguration->gppwm[0].rpmBins, { 0, 1000, 2000, 2500, 3500, 5500, 6500, 7000 }); + for (size_t i = 0; i < efi::size(engineConfiguration->gppwm[0].table); i++) + { + // Set the 3500 and 5500 rpm columns to 100 + engineConfiguration->gppwm[0].table[i][4] = 100; + engineConfiguration->gppwm[0].table[i][5] = 100; + } +} - engineConfiguration->idle.solenoidPin = PROTEUS_LS_7; +// Both NB2 and MSM +void setMiataPolygonusNB2Common() { + engineConfiguration->camInputs[0] = PROTEUS_DIGITAL_1; + engineConfiguration->tpsMin = 92; + engineConfiguration->tpsMax = 872; - engineConfiguration->fanPin = Gpio::B7; + // NB2 has a main relay output, unlike NB1 + engineConfiguration->mainRelayPin = PROTEUS_LS_16; - engineConfiguration->mainRelayPin = Gpio::G12; +#if EFI_PROD_CODE + engineConfiguration->acSwitch = getAdcChannelBrainPin("", PROTEUS_IN_ANALOG_VOLT_6); #endif // EFI_PROD_CODE +} + +void setMiataNB2_Polygonus() { + setMazdaMiataEngineNB2Defaults(); + setMiataNbPolygonusCommon(); + setMiataPolygonusNB2Common(); + + // NB2 has VVT! + engineConfiguration->vvtPins[0] = PROTEUS_LS_13; +} + +void setMiataNB_MSM_Polygonus() { + setMazdaMiataEngineNB1Defaults(); + setMiataNbPolygonusCommon(); + setMiataPolygonusNB2Common(); + + strcpy(engineConfiguration->engineCode, "NB1"); + engineConfiguration->compressionRatio = 9.5; + engineConfiguration->isForcedInduction = true; + // MSM has boost control! + engineConfiguration->boostControlPin = PROTEUS_HS_3; + // MSM gets a different IAT from the other NBs + engineConfiguration->iat.config = { 0, 40, 60, 112000, 17000, 8000, 0 }; } #endif // HW_PROTEUS diff --git a/firmware/config/engines/mazda_miata_vvt.h b/firmware/config/engines/mazda_miata_vvt.h index ecb1a992d1..c24c505dee 100644 --- a/firmware/config/engines/mazda_miata_vvt.h +++ b/firmware/config/engines/mazda_miata_vvt.h @@ -29,10 +29,9 @@ void setMazdaMiata2003EngineConfigurationBoardTest(); */ void setMiataNB2_Proteus_TCU(); -/** - * set engine_type 67 - */ -void setMiataNB2_Proteus(); +void setMiataNB1_Polygonus(); +void setMiataNB2_Polygonus(); +void setMiataNB_MSM_Polygonus(); /** * set engine_type 69 diff --git a/firmware/config/engines/nissan_vq.cpp b/firmware/config/engines/nissan_vq.cpp index 0e5c399047..c9c8424076 100644 --- a/firmware/config/engines/nissan_vq.cpp +++ b/firmware/config/engines/nissan_vq.cpp @@ -36,7 +36,7 @@ void setHellen121nissanVQ() { engineConfiguration->trigger.type = trigger_type_e::TT_NISSAN_VQ35; - setNissanMAF0031(config); + setNissanMAF0031(); engineConfiguration->cylindersCount = 6; engineConfiguration->firingOrder = FO_1_2_3_4_5_6; diff --git a/firmware/config/engines/toyota_jzs147.cpp b/firmware/config/engines/toyota_jzs147.cpp index ca62e53544..72ee62cbeb 100644 --- a/firmware/config/engines/toyota_jzs147.cpp +++ b/firmware/config/engines/toyota_jzs147.cpp @@ -79,7 +79,7 @@ void setToyota_2jz_vics() { engineConfiguration->triggerInputPins[1] = Gpio::Unassigned; // cam sensor will he handled by custom vtti code engineConfiguration->camInputs[0] = Gpio::C6; - engineConfiguration->vvtMode[0] = VVT_2JZ; + engineConfiguration->vvtMode[0] = VVT_TOYOTA_3_TOOTH; // set global_trigger_offset_angle 155 engineConfiguration->globalTriggerAngleOffset = 155; // todo diff --git a/firmware/config/stm32f4ems/efifeatures.h b/firmware/config/stm32f4ems/efifeatures.h index 6c69cefdf7..69dd0482ec 100644 --- a/firmware/config/stm32f4ems/efifeatures.h +++ b/firmware/config/stm32f4ems/efifeatures.h @@ -121,8 +121,8 @@ #define EFI_ALTERNATOR_CONTROL TRUE #endif -#ifndef EFI_AUX_PID -#define EFI_AUX_PID TRUE +#ifndef EFI_VVT_PID +#define EFI_VVT_PID TRUE #endif #define EFI_SIGNAL_EXECUTOR_SLEEP FALSE @@ -278,7 +278,9 @@ // small memory F40x can't fit perf trace #define ENABLE_PERF_TRACE FALSE + #ifndef LUA_USER_HEAP #define LUA_USER_HEAP 25000 + #endif #endif #ifndef EFI_LUA @@ -289,12 +291,12 @@ #define EFI_ENGINE_SNIFFER TRUE #endif +#ifndef EFI_SENSOR_CHART #define EFI_SENSOR_CHART TRUE +#endif -#if defined __GNUC__ +#ifndef DL_OUTPUT_BUFFER #define DL_OUTPUT_BUFFER 6500 -#else -#define DL_OUTPUT_BUFFER 8000 #endif #define EFI_ELECTRONIC_THROTTLE_BODY TRUE @@ -308,8 +310,9 @@ //#define EFI_MALFUNCTION_INDICATOR FALSE #endif +#ifndef EFI_MAP_AVERAGING #define EFI_MAP_AVERAGING TRUE -//#define EFI_MAP_AVERAGING FALSE +#endif // todo: most of this should become configurable diff --git a/firmware/console/binary/generated/live_data_ids.h b/firmware/console/binary/generated/live_data_ids.h index 1e76f51aca..00cce627ee 100644 --- a/firmware/console/binary/generated/live_data_ids.h +++ b/firmware/console/binary/generated/live_data_ids.h @@ -31,9 +31,9 @@ LDS_vvt, LDS_lambda_monitor, } live_data_e; #define OUTPUT_CHANNELS_BASE_ADDRESS 0 -#define FUEL_COMPUTER_BASE_ADDRESS 820 -#define IGNITION_STATE_BASE_ADDRESS 860 -#define KNOCK_CONTROLLER_BASE_ADDRESS 892 +#define FUEL_COMPUTER_BASE_ADDRESS 800 +#define IGNITION_STATE_BASE_ADDRESS 844 +#define KNOCK_CONTROLLER_BASE_ADDRESS 876 #define HIGH_PRESSURE_FUEL_PUMP_BASE_ADDRESS 908 #define INJECTOR_MODEL_BASE_ADDRESS 932 #define LAUNCH_CONTROL_STATE_BASE_ADDRESS 944 diff --git a/firmware/console/binary/live_data.cpp b/firmware/console/binary/live_data.cpp index 75717b3118..392dee37f5 100644 --- a/firmware/console/binary/live_data.cpp +++ b/firmware/console/binary/live_data.cpp @@ -55,7 +55,7 @@ const injector_model_s* getLiveData(size_t) { template<> const boost_control_s* getLiveData(size_t) { #if EFI_BOOST_CONTROL - return &engine->boostController; + return &engine->module().unmock(); #else return nullptr; #endif @@ -132,7 +132,7 @@ const trigger_state_s* getLiveData(size_t idx) { template<> const vvt_s* getLiveData(size_t idx) { -#if EFI_AUX_PID +#if EFI_VVT_PID switch (idx) { case 0: return &engine->module().unmock(); case 1: return &engine->module().unmock(); @@ -156,7 +156,7 @@ const trigger_state_primary_s* getLiveData(size_t) { template<> const wall_fuel_state_s* getLiveData(size_t) { - return &engine->injectionEvents.elements[0].wallFuel; + return &engine->injectionEvents.elements[0].getWallFuel(); } template<> diff --git a/firmware/console/binary/output_channels.txt b/firmware/console/binary/output_channels.txt index ba8af430af..25cd302d8c 100644 --- a/firmware/console/binary/output_channels.txt +++ b/firmware/console/binary/output_channels.txt @@ -41,7 +41,7 @@ bit dfcoActive uint16_t RPMValue;@@GAUGE_NAME_RPM@@;"RPM",1, 0, 0, 8000, 0 -uint16_t rpmAcceleration;dRPM;"RPM acceleration",1, 0, 0, 5, 2 +int16_t rpmAcceleration;dRPM;"RPM acceleration",1, 0, 0, 5, 2 uint16_t autoscale speedToRpmRatio;@@GAUGE_NAME_GEAR_RATIO@@;"value",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 2 uint8_t vehicleSpeedKph;@@GAUGE_NAME_VVS@@;"kph",1, 0, 0, 0, 1 @@ -64,7 +64,6 @@ uint16_t rpmAcceleration;dRPM;"RPM acceleration",1, 0, 0, 5, 2 uint16_t autoscale baroPressure;;"kPa",{1/@@PACK_MULT_PRESSURE@@}, 0, 0, 0, 1 uint16_t autoscale lambdaValue;@@GAUGE_NAME_LAMBDA@@;"",{1/@@PACK_MULT_LAMBDA@@}, 0, 0, 0, 3 - uint8_t autoscale knockRetard;@@GAUGE_NAME_KNOCK_RETARD@@;"deg",{1/10}, 0, 0, 0, 1 uint16_t autoscale VBatt;@@GAUGE_NAME_VBAT@@;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 0, 2 @@ -95,7 +94,7 @@ uint16_t rpmAcceleration;dRPM;"RPM acceleration",1, 0, 0, 5, 2 uint8_t currentInjectionMode;@@GAUGE_NAME_INJECTION_MODE@@ uint16_t autoscale coilDutyCycle;@@GAUGE_NAME_DWELL_DUTY@@;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0 -! Idle & ETB +! ETB int16_t autoscale etbTarget;ETB Target;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 2 int16_t autoscale etb1DutyCycle;@@GAUGE_NAME_ETB_DUTY@@;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 1 ! Fuel system @@ -107,8 +106,6 @@ uint16_t rpmAcceleration;dRPM;"RPM acceleration",1, 0, 0, 5, 2 int16_t autoscale TPS2Value;@@GAUGE_NAME_TPS2@@;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 2 uint16_t tuneCrc16;@@GAUGE_NAME_TUNE_CRC16@@;"crc16", 1, 0, 0, 0, 0 - float knockLevel;@@GAUGE_NAME_KNOCK_LEVEL@@;"Volts", 1, 0, 0, 0, 2 - ! integration magic: TS requires exact 'seconds' name uint32_t seconds;@@GAUGE_NAME_UPTIME@@;"sec", 1, 0, 0, 0, 0 uint32_t engineMode;Engine Mode;"em", 1, 0, 0, 0, 0 @@ -136,11 +133,6 @@ uint16_t rpmAcceleration;dRPM;"RPM acceleration",1, 0, 0, 5, 2 int16_t autoscale wastegatePositionSensor;@@GAUGE_NAME_WG_POSITION@@;"%",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 2 -! todo: this not needed in light of TS_SIGNATURE but rusEFI console still uses it. Need to migrate -! rusEFI console from TS_FILE_VERSION to TS_SIGNATURE :( - uint32_t tsConfigVersion;;"", 1, 0, 0, 0, 0 - - ! These two fields indicate to TS that we'd like to set a particular field to a particular value ! We use a maintainConstantValue in TS for each field we'd like to set, like this: ! maintainConstantValue = tpsMax, { (calibrationMode == 1 ) ? calibrationValue : tpsMax } @@ -153,7 +145,11 @@ uint16_t rpmAcceleration;dRPM;"RPM acceleration",1, 0, 0, 5, 2 ! it wants to send have been sent. float calibrationValue;;"", 1, 0, 0, 0, 0 uint8_t calibrationMode;;"", 1, 0, 0, 0, 0 - uint8_t idleTargetPosition;Idle: Stepper target position;"", 1, 0, 0, 0, 0 + uint8_t idleStepperTargetPosition;Idle: Stepper target position;"", 1, 0, 0, 0, 0 + +! todo: this not needed in light of TS_SIGNATURE but rusEFI console still uses it. Need to migrate +! rusEFI console from TS_FILE_VERSION to TS_SIGNATURE :( + uint32_t tsConfigVersion;;"", 1, 0, 0, 0, 0 ! Errors uint32_t totalTriggerErrorCounter;@@GAUGE_NAME_TRG_ERR@@;"counter",1, 0, 0, 0, 0 @@ -190,8 +186,6 @@ uint16_t rpmAcceleration;dRPM;"RPM acceleration",1, 0, 0, 5, 2 uint8_t fuelClosedLoopBinIdx;;"", 1, 0, 0, 0, 0 int8_t tcuCurrentGear;@@GAUGE_NAME_CURRENT_GEAR@@;"gear", 1, 0, -1, 10, 0 - int8_t[12 iterate] knock;Knock: Cyl;"dBv",1, 0, 0, 0, 0 - uint16_t autoscale AFRValue;@@GAUGE_NAME_AFR@@;"AFR",{1/@@PACK_MULT_AFR@@}, 0, 0, 0, 2 uint16_t autoscale VssAcceleration;Vss Accel;"m/s2",{1/@@PACK_MULT_MS@@}, 0, 0, 0, 2 @@ -208,7 +202,6 @@ uint16_t rpmAcceleration;dRPM;"RPM acceleration",1, 0, 0, 5, 2 int16_t autoscale rawTps2Primary;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 5, 3 int16_t autoscale rawTps2Secondary;;"V",{1/@@PACK_MULT_VOLTAGE@@}, 0, 0, 5, 3 - uint16_t knockCount;@@GAUGE_NAME_KNOCK_COUNTER@@;"",1, 0, 0, 0, 0 int16_t autoscale accelerationZ;@@GAUGE_NAME_ACCEL_Z@@;"G",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0 int16_t autoscale accelerationRoll;@@GAUGE_NAME_ACCEL_ROLL@@;"G",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0 @@ -357,5 +350,20 @@ float mapFast uint16_t testBenchIter;;"count",1, 0, 0, 0, 0 - uint8_t[140 iterate] unusedAtTheEnd;;"",1, 0, 0, 0, 0 + int16_t autoscale oilTemp;;"deg C",{1/@@PACK_MULT_TEMPERATURE@@}, 0, 0, 0, 1 + int16_t autoscale fuelTemp;;"deg C",{1/@@PACK_MULT_TEMPERATURE@@}, 0, 0, 0, 1 + int16_t autoscale ambientTemp;;"deg C",{1/@@PACK_MULT_TEMPERATURE@@}, 0, 0, 0, 1 + int16_t autoscale compressorDischargeTemp;;"deg C",{1/@@PACK_MULT_TEMPERATURE@@}, 0, 0, 0, 1 + + uint16_t autoscale compressorDischargePressure;;"kPa",{1/@@PACK_MULT_PRESSURE@@}, 0, 0, 0, 1 + uint16_t autoscale throttleInletPressure;;"kPa",{1/@@PACK_MULT_PRESSURE@@}, 0, 0, 0, 1 + + uint16_t ignitionOnTime;;"sec",1,0,0,0,1 + uint16_t engineRunTime;;"sec",1,0,0,0,1 + uint16_t autoscale distanceTraveled;;"km",0.1,0,0,0,1 + + uint16_t autoscale afrGasolineScale;@@GAUGE_NAME_AFR_GAS_SCALE@@;"AFR",{1/@@PACK_MULT_AFR@@}, 0, 0, 0, 2 + uint16_t autoscale afr2GasolineScale;@@GAUGE_NAME_AFR2_GAS_SCALE@@;"AFR",{1/@@PACK_MULT_AFR@@}, 0, 0, 0, 2 + + uint8_t[120 iterate] unusedAtTheEnd;;"",1, 0, 0, 0, 0 end_struct diff --git a/firmware/console/binary/output_channels_generated.h b/firmware/console/binary/output_channels_generated.h index bfed0556d1..8d9223e74d 100644 --- a/firmware/console/binary/output_channels_generated.h +++ b/firmware/console/binary/output_channels_generated.h @@ -109,7 +109,7 @@ struct output_channels_s { // dRPM // RPM acceleration // offset 6 - uint16_t rpmAcceleration = (uint16_t)0; + int16_t rpmAcceleration = (int16_t)0; // @@GAUGE_NAME_GEAR_RATIO@@ // value // offset 8 @@ -164,594 +164,610 @@ struct output_channels_s { // @@GAUGE_NAME_LAMBDA@@ // offset 34 scaled_channel lambdaValue = (uint16_t)0; - // @@GAUGE_NAME_KNOCK_RETARD@@ - // deg - // offset 36 - scaled_channel knockRetard = (uint8_t)0; - // offset 37 - uint8_t alignmentFill_at_37[1]; // @@GAUGE_NAME_VBAT@@ // V - // offset 38 + // offset 36 scaled_channel VBatt = (uint16_t)0; // @@GAUGE_NAME_OIL_PRESSURE@@ // kPa - // offset 40 + // offset 38 scaled_channel oilPressure = (uint16_t)0; // @@GAUGE_NAME_VVT_B1I@@ // deg - // offset 42 + // offset 40 scaled_channel vvtPositionB1I = (int16_t)0; // @@GAUGE_NAME_FUEL_LAST_INJECTION@@ // Actual last injection time - including all compensation and injection mode // ms - // offset 44 + // offset 42 scaled_channel actualLastInjection = (uint16_t)0; // @@GAUGE_NAME_FUEL_INJ_DUTY@@ // % - // offset 46 + // offset 44 scaled_channel injectorDutyCycle = (uint8_t)0; // @@GAUGE_NAME_FUEL_VE@@ // ratio - // offset 47 + // offset 45 scaled_channel veValue = (uint8_t)0; // @@GAUGE_NAME_FUEL_INJECTION_TIMING@@ // deg - // offset 48 + // offset 46 int16_t injectionOffset = (int16_t)0; // @@GAUGE_NAME_ENGINE_CRC16@@ // crc16 - // offset 50 + // offset 48 uint16_t engineMakeCodeNameCrc16 = (uint16_t)0; // @@GAUGE_NAME_FUEL_WALL_AMOUNT@@ // mg - // offset 52 + // offset 50 scaled_channel wallFuelAmount = (uint16_t)0; // @@GAUGE_NAME_FUEL_WALL_CORRECTION@@ // mg - // offset 54 + // offset 52 scaled_channel wallFuelCorrectionValue = (int16_t)0; - // offset 56 + // offset 54 uint16_t revolutionCounterSinceStart = (uint16_t)0; // CAN: Rx - // offset 58 + // offset 56 uint16_t canReadCounter = (uint16_t)0; // @@GAUGE_NAME_FUEL_TPS_EXTRA@@ // ms - // offset 60 + // offset 58 scaled_channel tpsAccelFuel = (int16_t)0; // @@GAUGE_NAME_TIMING_ADVANCE@@ // deg - // offset 62 + // offset 60 scaled_channel ignitionAdvance = (int16_t)0; // @@GAUGE_NAME_IGNITION_MODE@@ - // offset 64 + // offset 62 uint8_t currentIgnitionMode = (uint8_t)0; // @@GAUGE_NAME_INJECTION_MODE@@ - // offset 65 + // offset 63 uint8_t currentInjectionMode = (uint8_t)0; // @@GAUGE_NAME_DWELL_DUTY@@ // % - // offset 66 + // offset 64 scaled_channel coilDutyCycle = (uint16_t)0; // ETB Target // % - // offset 68 + // offset 66 scaled_channel etbTarget = (int16_t)0; // @@GAUGE_NAME_ETB_DUTY@@ // % - // offset 70 + // offset 68 scaled_channel etb1DutyCycle = (int16_t)0; // Fuel level // % - // offset 72 + // offset 70 scaled_channel fuelTankLevel = (int16_t)0; // @@GAUGE_NAME_FUEL_CONSUMPTION@@ // grams - // offset 74 + // offset 72 uint16_t totalFuelConsumption = (uint16_t)0; // @@GAUGE_NAME_FUEL_FLOW@@ // gram/s - // offset 76 + // offset 74 scaled_channel fuelFlowRate = (uint16_t)0; // @@GAUGE_NAME_TPS2@@ // % - // offset 78 + // offset 76 scaled_channel TPS2Value = (int16_t)0; // @@GAUGE_NAME_TUNE_CRC16@@ // crc16 - // offset 80 + // offset 78 uint16_t tuneCrc16 = (uint16_t)0; - // offset 82 - uint8_t alignmentFill_at_82[2]; - // @@GAUGE_NAME_KNOCK_LEVEL@@ - // Volts - // offset 84 - float knockLevel = (float)0; // @@GAUGE_NAME_UPTIME@@ // sec - // offset 88 + // offset 80 uint32_t seconds = (uint32_t)0; // Engine Mode // em - // offset 92 + // offset 84 uint32_t engineMode = (uint32_t)0; // @@GAUGE_NAME_VERSION@@ // version_f - // offset 96 + // offset 88 uint32_t firmwareVersion = (uint32_t)0; // V - // offset 100 + // offset 92 scaled_channel rawWastegatePosition = (int16_t)0; // @@GAUGE_NAME_ACCEL_X@@ // G - // offset 102 + // offset 94 scaled_channel accelerationX = (int16_t)0; // @@GAUGE_NAME_ACCEL_Y@@ // G - // offset 104 + // offset 96 scaled_channel accelerationY = (int16_t)0; // @@GAUGE_NAME_DETECTED_GEAR@@ - // offset 106 + // offset 98 uint8_t detectedGear = (uint8_t)0; - // offset 107 + // offset 99 uint8_t maxTriggerReentrant = (uint8_t)0; // V - // offset 108 + // offset 100 scaled_channel rawLowFuelPressure = (int16_t)0; // V - // offset 110 + // offset 102 scaled_channel rawHighFuelPressure = (int16_t)0; // @@GAUGE_NAME_FUEL_PRESSURE_LOW@@ // kpa - // offset 112 + // offset 104 scaled_channel lowFuelPressure = (int16_t)0; // @@GAUGE_NAME_FUEL_PRESSURE_HIGH@@ // bar - // offset 114 + // offset 106 scaled_channel highFuelPressure = (int16_t)0; // V - // offset 116 + // offset 108 scaled_channel rawPpsSecondary = (int16_t)0; // @@GAUGE_NAME_DESIRED_GEAR@@ // gear - // offset 118 + // offset 110 int8_t tcuDesiredGear = (int8_t)0; // @@GAUGE_NAME_FLEX@@ // % - // offset 119 + // offset 111 scaled_channel flexPercent = (uint8_t)0; // @@GAUGE_NAME_WG_POSITION@@ // % - // offset 120 + // offset 112 scaled_channel wastegatePositionSensor = (int16_t)0; + // offset 114 + uint8_t alignmentFill_at_114[2]; + // offset 116 + float calibrationValue = (float)0; + // offset 120 + uint8_t calibrationMode = (uint8_t)0; + // Idle: Stepper target position + // offset 121 + uint8_t idleStepperTargetPosition = (uint8_t)0; // offset 122 uint8_t alignmentFill_at_122[2]; // offset 124 uint32_t tsConfigVersion = (uint32_t)0; - // offset 128 - float calibrationValue = (float)0; - // offset 132 - uint8_t calibrationMode = (uint8_t)0; - // Idle: Stepper target position - // offset 133 - uint8_t idleTargetPosition = (uint8_t)0; - // offset 134 - uint8_t alignmentFill_at_134[2]; // @@GAUGE_NAME_TRG_ERR@@ // counter - // offset 136 + // offset 128 uint32_t totalTriggerErrorCounter = (uint32_t)0; - // offset 140 + // offset 132 uint32_t orderingErrorCounter = (uint32_t)0; // @@GAUGE_NAME_WARNING_COUNTER@@ // count - // offset 144 + // offset 136 uint16_t warningCounter = (uint16_t)0; // @@GAUGE_NAME_WARNING_LAST@@ // error - // offset 146 + // offset 138 uint16_t lastErrorCode = (uint16_t)0; // error - // offset 148 + // offset 140 uint16_t recentErrorCode[8]; // val - // offset 164 + // offset 156 float debugFloatField1 = (float)0; // val - // offset 168 + // offset 160 float debugFloatField2 = (float)0; // val - // offset 172 + // offset 164 float debugFloatField3 = (float)0; // val - // offset 176 + // offset 168 float debugFloatField4 = (float)0; // val - // offset 180 + // offset 172 float debugFloatField5 = (float)0; // val - // offset 184 + // offset 176 float debugFloatField6 = (float)0; // val - // offset 188 + // offset 180 float debugFloatField7 = (float)0; // val - // offset 192 + // offset 184 uint32_t debugIntField1 = (uint32_t)0; // val - // offset 196 + // offset 188 uint32_t debugIntField2 = (uint32_t)0; // val - // offset 200 + // offset 192 uint32_t debugIntField3 = (uint32_t)0; // val - // offset 204 + // offset 196 int16_t debugIntField4 = (int16_t)0; // val - // offset 206 + // offset 198 int16_t debugIntField5 = (int16_t)0; // EGT // deg C - // offset 208 + // offset 200 uint16_t egt[EGT_CHANNEL_COUNT]; // V - // offset 224 + // offset 216 scaled_channel rawTps1Primary = (int16_t)0; // V - // offset 226 + // offset 218 scaled_channel rawPpsPrimary = (int16_t)0; // V - // offset 228 + // offset 220 scaled_channel rawClt = (int16_t)0; // V - // offset 230 + // offset 222 scaled_channel rawIat = (int16_t)0; // V - // offset 232 + // offset 224 scaled_channel rawOilPressure = (int16_t)0; - // offset 234 + // offset 226 uint8_t fuelClosedLoopBinIdx = (uint8_t)0; // @@GAUGE_NAME_CURRENT_GEAR@@ // gear - // offset 235 + // offset 227 int8_t tcuCurrentGear = (int8_t)0; - // Knock: Cyl - // dBv - // offset 236 - int8_t knock[12]; // @@GAUGE_NAME_AFR@@ // AFR - // offset 248 + // offset 228 scaled_channel AFRValue = (uint16_t)0; // Vss Accel // m/s2 - // offset 250 + // offset 230 scaled_channel VssAcceleration = (uint16_t)0; // @@GAUGE_NAME_LAMBDA2@@ - // offset 252 + // offset 232 scaled_channel lambdaValue2 = (uint16_t)0; // @@GAUGE_NAME_AFR2@@ // AFR - // offset 254 + // offset 234 scaled_channel AFRValue2 = (uint16_t)0; // @@GAUGE_NAME_VVT_B1E@@ // deg - // offset 256 + // offset 236 scaled_channel vvtPositionB1E = (int16_t)0; // @@GAUGE_NAME_VVT_B2I@@ // deg - // offset 258 + // offset 238 scaled_channel vvtPositionB2I = (int16_t)0; // @@GAUGE_NAME_VVT_B2E@@ // deg - // offset 260 + // offset 240 scaled_channel vvtPositionB2E = (int16_t)0; // Fuel: Trim bank // % - // offset 262 + // offset 242 scaled_channel fuelPidCorrection[2]; // V - // offset 266 + // offset 246 scaled_channel rawTps1Secondary = (int16_t)0; // V - // offset 268 + // offset 248 scaled_channel rawTps2Primary = (int16_t)0; // V - // offset 270 + // offset 250 scaled_channel rawTps2Secondary = (int16_t)0; - // @@GAUGE_NAME_KNOCK_COUNTER@@ - // offset 272 - uint16_t knockCount = (uint16_t)0; // @@GAUGE_NAME_ACCEL_Z@@ // G - // offset 274 + // offset 252 scaled_channel accelerationZ = (int16_t)0; // @@GAUGE_NAME_ACCEL_ROLL@@ // G - // offset 276 + // offset 254 scaled_channel accelerationRoll = (int16_t)0; // @@GAUGE_NAME_ACCEL_YAW@@ // G - // offset 278 + // offset 256 scaled_channel accelerationYaw = (int16_t)0; // deg - // offset 280 + // offset 258 int8_t vvtTargets[4]; // @@GAUGE_NAME_TURBO_SPEED@@ // hz - // offset 284 + // offset 262 uint16_t turboSpeed = (uint16_t)0; // Ign: Timing Cyl // deg - // offset 286 + // offset 264 scaled_channel ignitionAdvanceCyl[12]; // % - // offset 310 + // offset 288 scaled_channel tps1Split = (int16_t)0; // % - // offset 312 + // offset 290 scaled_channel tps2Split = (int16_t)0; // % - // offset 314 + // offset 292 scaled_channel tps12Split = (int16_t)0; // % - // offset 316 + // offset 294 scaled_channel accPedalSplit = (int16_t)0; // Ign: Cut Code // code - // offset 318 + // offset 296 int8_t sparkCutReason = (int8_t)0; // Fuel: Cut Code // code - // offset 319 + // offset 297 int8_t fuelCutReason = (int8_t)0; // @@GAUGE_NAME_AIR_FLOW_ESTIMATE@@ // kg/h - // offset 320 + // offset 298 scaled_channel mafEstimate = (uint16_t)0; // rpm - // offset 322 + // offset 300 uint16_t instantRpm = (uint16_t)0; // V - // offset 324 + // offset 302 scaled_channel rawMap = (uint16_t)0; // V - // offset 326 + // offset 304 scaled_channel rawAfr = (uint16_t)0; - // offset 328 + // offset 306 + uint8_t alignmentFill_at_306[2]; + // offset 308 float calibrationValue2 = (float)0; // Lua: Tick counter // count - // offset 332 + // offset 312 uint32_t luaInvocationCounter = (uint32_t)0; // Lua: Last tick duration // nt - // offset 336 + // offset 316 uint32_t luaLastCycleDuration = (uint32_t)0; // "TCU: Current Range" - // offset 340 + // offset 320 uint8_t tcu_currentRange = (uint8_t)0; - // offset 341 - uint8_t alignmentFill_at_341[1]; + // offset 321 + uint8_t alignmentFill_at_321[1]; // @@GAUGE_NAME_TC_RATIO@@ // value - // offset 342 + // offset 322 scaled_channel tcRatio = (uint16_t)0; - // offset 344 + // offset 324 float lastShiftTime = (float)0; - // offset 348 + // offset 328 uint32_t vssEdgeCounter = (uint32_t)0; - // offset 352 + // offset 332 uint32_t issEdgeCounter = (uint32_t)0; // @@GAUGE_NAME_AUX_LINEAR_1@@ - // offset 356 + // offset 336 scaled_channel auxLinear1 = (int16_t)0; // @@GAUGE_NAME_AUX_LINEAR_2@@ - // offset 358 + // offset 338 scaled_channel auxLinear2 = (int16_t)0; // kPa - // offset 360 + // offset 340 scaled_channel fallbackMap = (uint16_t)0; // Instant MAP // kPa - // offset 362 + // offset 342 scaled_channel instantMAPValue = (uint16_t)0; // us - // offset 364 + // offset 344 uint16_t maxLockedDuration = (uint16_t)0; // CAN: Tx OK - // offset 366 + // offset 346 uint16_t canWriteOk = (uint16_t)0; // CAN: Tx err - // offset 368 + // offset 348 uint16_t canWriteNotOk = (uint16_t)0; - // offset 370 - uint8_t alignmentFill_at_370[2]; - // offset 372 + // offset 350 + uint8_t alignmentFill_at_350[2]; + // offset 352 uint32_t triggerPrimaryFall = (uint32_t)0; - // offset 376 + // offset 356 uint32_t triggerPrimaryRise = (uint32_t)0; - // offset 380 + // offset 360 uint32_t triggerSecondaryFall = (uint32_t)0; - // offset 384 + // offset 364 uint32_t triggerSecondaryRise = (uint32_t)0; - // offset 388 + // offset 368 uint32_t triggerVvtFall = (uint32_t)0; - // offset 392 + // offset 372 uint32_t triggerVvtRise = (uint32_t)0; - // offset 396 + // offset 376 uint8_t starterState = (uint8_t)0; - // offset 397 + // offset 377 uint8_t starterRelayDisable = (uint8_t)0; // Ign: Multispark count - // offset 398 + // offset 378 uint8_t multiSparkCounter = (uint8_t)0; - // offset 399 + // offset 379 uint8_t extiOverflowCount = (uint8_t)0; - // offset 400 + // offset 380 pid_status_s alternatorStatus; - // offset 416 + // offset 396 pid_status_s idleStatus; - // offset 432 + // offset 412 pid_status_s etbStatus; - // offset 448 + // offset 428 pid_status_s boostStatus; - // offset 464 + // offset 444 pid_status_s wastegateDcStatus; - // offset 480 + // offset 460 pid_status_s vvtStatus[CAM_INPUTS_COUNT]; // Aux speed 1 // s - // offset 544 + // offset 524 uint16_t auxSpeed1 = (uint16_t)0; // Aux speed 2 // s - // offset 546 + // offset 526 uint16_t auxSpeed2 = (uint16_t)0; // @@GAUGE_NAME_ISS@@ // RPM - // offset 548 + // offset 528 uint16_t ISSValue = (uint16_t)0; // V - // offset 550 + // offset 530 scaled_channel rawAnalogInput[LUA_ANALOG_INPUT_COUNT]; // GPPWM Output // % - // offset 566 + // offset 546 scaled_channel gppwmOutput[4]; - // offset 570 + // offset 550 int16_t gppwmXAxis[4]; - // offset 578 + // offset 558 scaled_channel gppwmYAxis[4]; // V - // offset 586 + // offset 566 scaled_channel rawBattery = (int16_t)0; - // offset 588 + // offset 568 scaled_channel ignBlendParameter[IGN_BLEND_COUNT]; // % - // offset 596 + // offset 576 scaled_channel ignBlendBias[IGN_BLEND_COUNT]; // deg - // offset 600 + // offset 580 scaled_channel ignBlendOutput[IGN_BLEND_COUNT]; - // offset 608 + // offset 588 scaled_channel veBlendParameter[VE_BLEND_COUNT]; // % - // offset 616 + // offset 596 scaled_channel veBlendBias[VE_BLEND_COUNT]; // % - // offset 620 + // offset 600 scaled_channel veBlendOutput[VE_BLEND_COUNT]; - // offset 628 + // offset 608 scaled_channel boostOpenLoopBlendParameter[BOOST_BLEND_COUNT]; // % - // offset 632 + // offset 612 scaled_channel boostOpenLoopBlendBias[BOOST_BLEND_COUNT]; // % - // offset 634 + // offset 614 int8_t boostOpenLoopBlendOutput[BOOST_BLEND_COUNT]; - // offset 636 + // offset 616 scaled_channel boostClosedLoopBlendParameter[BOOST_BLEND_COUNT]; // % - // offset 640 + // offset 620 scaled_channel boostClosedLoopBlendBias[BOOST_BLEND_COUNT]; // % - // offset 642 + // offset 622 scaled_channel boostClosedLoopBlendOutput[BOOST_BLEND_COUNT]; - // offset 646 - uint8_t alignmentFill_at_646[2]; - // offset 648 bit 0 + // offset 626 + uint8_t alignmentFill_at_626[2]; + // offset 628 bit 0 bool coilState1 : 1 {}; - // offset 648 bit 1 + // offset 628 bit 1 bool coilState2 : 1 {}; - // offset 648 bit 2 + // offset 628 bit 2 bool coilState3 : 1 {}; - // offset 648 bit 3 + // offset 628 bit 3 bool coilState4 : 1 {}; - // offset 648 bit 4 + // offset 628 bit 4 bool coilState5 : 1 {}; - // offset 648 bit 5 + // offset 628 bit 5 bool coilState6 : 1 {}; - // offset 648 bit 6 + // offset 628 bit 6 bool coilState7 : 1 {}; - // offset 648 bit 7 + // offset 628 bit 7 bool coilState8 : 1 {}; - // offset 648 bit 8 + // offset 628 bit 8 bool coilState9 : 1 {}; - // offset 648 bit 9 + // offset 628 bit 9 bool coilState10 : 1 {}; - // offset 648 bit 10 + // offset 628 bit 10 bool coilState11 : 1 {}; - // offset 648 bit 11 + // offset 628 bit 11 bool coilState12 : 1 {}; - // offset 648 bit 12 + // offset 628 bit 12 bool injectorState1 : 1 {}; - // offset 648 bit 13 + // offset 628 bit 13 bool injectorState2 : 1 {}; - // offset 648 bit 14 + // offset 628 bit 14 bool injectorState3 : 1 {}; - // offset 648 bit 15 + // offset 628 bit 15 bool injectorState4 : 1 {}; - // offset 648 bit 16 + // offset 628 bit 16 bool injectorState5 : 1 {}; - // offset 648 bit 17 + // offset 628 bit 17 bool injectorState6 : 1 {}; - // offset 648 bit 18 + // offset 628 bit 18 bool injectorState7 : 1 {}; - // offset 648 bit 19 + // offset 628 bit 19 bool injectorState8 : 1 {}; - // offset 648 bit 20 + // offset 628 bit 20 bool injectorState9 : 1 {}; - // offset 648 bit 21 + // offset 628 bit 21 bool injectorState10 : 1 {}; - // offset 648 bit 22 + // offset 628 bit 22 bool injectorState11 : 1 {}; - // offset 648 bit 23 + // offset 628 bit 23 bool injectorState12 : 1 {}; - // offset 648 bit 24 - bool unusedBit_231_24 : 1 {}; - // offset 648 bit 25 - bool unusedBit_231_25 : 1 {}; - // offset 648 bit 26 - bool unusedBit_231_26 : 1 {}; - // offset 648 bit 27 - bool unusedBit_231_27 : 1 {}; - // offset 648 bit 28 - bool unusedBit_231_28 : 1 {}; - // offset 648 bit 29 - bool unusedBit_231_29 : 1 {}; - // offset 648 bit 30 - bool unusedBit_231_30 : 1 {}; - // offset 648 bit 31 - bool unusedBit_231_31 : 1 {}; - // offset 652 + // offset 628 bit 24 + bool unusedBit_226_24 : 1 {}; + // offset 628 bit 25 + bool unusedBit_226_25 : 1 {}; + // offset 628 bit 26 + bool unusedBit_226_26 : 1 {}; + // offset 628 bit 27 + bool unusedBit_226_27 : 1 {}; + // offset 628 bit 28 + bool unusedBit_226_28 : 1 {}; + // offset 628 bit 29 + bool unusedBit_226_29 : 1 {}; + // offset 628 bit 30 + bool unusedBit_226_30 : 1 {}; + // offset 628 bit 31 + bool unusedBit_226_31 : 1 {}; + // offset 632 uint32_t outputRequestPeriod = (uint32_t)0; - // offset 656 + // offset 636 float mapFast = (float)0; // Lua: Gauge // value - // offset 660 + // offset 640 float luaGauges[LUA_GAUGE_COUNT]; // V - // offset 668 + // offset 648 scaled_channel rawMaf2 = (uint16_t)0; // @@GAUGE_NAME_AIR_FLOW_MEASURED_2@@ // kg/h - // offset 670 + // offset 650 scaled_channel mafMeasured2 = (uint16_t)0; - // offset 672 + // offset 652 uint16_t schedulingUsedCount = (uint16_t)0; // % - // offset 674 + // offset 654 scaled_channel Gego = (uint16_t)0; // count - // offset 676 + // offset 656 uint16_t testBenchIter = (uint16_t)0; + // deg C + // offset 658 + scaled_channel oilTemp = (int16_t)0; + // deg C + // offset 660 + scaled_channel fuelTemp = (int16_t)0; + // deg C + // offset 662 + scaled_channel ambientTemp = (int16_t)0; + // deg C + // offset 664 + scaled_channel compressorDischargeTemp = (int16_t)0; + // kPa + // offset 666 + scaled_channel compressorDischargePressure = (uint16_t)0; + // kPa + // offset 668 + scaled_channel throttleInletPressure = (uint16_t)0; + // sec + // offset 670 + uint16_t ignitionOnTime = (uint16_t)0; + // sec + // offset 672 + uint16_t engineRunTime = (uint16_t)0; + // km + // offset 674 + scaled_channel distanceTraveled = (uint16_t)0; + // @@GAUGE_NAME_AFR_GAS_SCALE@@ + // AFR + // offset 676 + scaled_channel afrGasolineScale = (uint16_t)0; + // @@GAUGE_NAME_AFR2_GAS_SCALE@@ + // AFR // offset 678 - uint8_t unusedAtTheEnd[140]; - // offset 818 - uint8_t alignmentFill_at_818[2]; + scaled_channel afr2GasolineScale = (uint16_t)0; + // offset 680 + uint8_t unusedAtTheEnd[120]; }; -static_assert(sizeof(output_channels_s) == 820); +static_assert(sizeof(output_channels_s) == 800); diff --git a/firmware/console/binary/serial_can.cpp b/firmware/console/binary/serial_can.cpp index 40ab149ea4..6ac0350eb1 100644 --- a/firmware/console/binary/serial_can.cpp +++ b/firmware/console/binary/serial_can.cpp @@ -39,7 +39,7 @@ static CanTsListener listener; int CanStreamerState::sendFrame(const IsoTpFrameHeader & header, const uint8_t *data, int num, can_sysinterval_t timeout) { int dlc = 8; // standard 8 bytes - CanTxMessage txmsg(CAN_ECU_SERIAL_TX_ID, dlc, 0, false); + CanTxMessage txmsg(CAN_ECU_SERIAL_TX_ID, dlc, CanBusIndex::Bus0, false); // fill the frame data according to the CAN-TP protocol (ISO 15765-2) txmsg[0] = (uint8_t)((header.frameType & 0xf) << 4); @@ -194,52 +194,56 @@ int CanStreamerState::sendDataTimeout(const uint8_t *txbuf, int numBytes, can_sy // multiple frames - // send the first header frame (FF) - IsoTpFrameHeader header; - header.frameType = ISO_TP_FRAME_FIRST; - header.numBytes = numBytes; - int numSent = sendFrame(header, txbuf + offset, numBytes, timeout); - offset += numSent; - numBytes -= numSent; - int totalNumSent = numSent; + int totalNumSent = 0; - // get a flow control (FC) frame + { + // send the first header frame (FF) + IsoTpFrameHeader header; + header.frameType = ISO_TP_FRAME_FIRST; + header.numBytes = numBytes; + int numSent = sendFrame(header, txbuf + offset, numBytes, timeout); + offset += numSent; + numBytes -= numSent; + totalNumSent += numSent; + + // get a flow control (FC) frame #if !EFI_UNIT_TEST // todo: add FC to unit-tests? - CANRxFrame rxmsg; - for (int numFcReceived = 0; ; numFcReceived++) { - if (streamer->receive(CAN_ANY_MAILBOX, &rxmsg, timeout) != CAN_MSG_OK) { + CANRxFrame rxmsg; + for (int numFcReceived = 0; ; numFcReceived++) { + if (streamer->receive(CAN_ANY_MAILBOX, &rxmsg, timeout) != CAN_MSG_OK) { #ifdef SERIAL_CAN_DEBUG - PRINT("*** ERROR: CAN Flow Control frame not received" PRINT_EOL); + PRINT("*** ERROR: CAN Flow Control frame not received" PRINT_EOL); #endif /* SERIAL_CAN_DEBUG */ - //warning(ObdCode::CUSTOM_ERR_CAN_COMMUNICATION, "CAN Flow Control frame not received"); - return 0; - } - receiveFrame(&rxmsg, nullptr, 0, timeout); - int flowStatus = rxmsg.data8[0] & 0xf; - // if something is not ok - if (flowStatus != CAN_FLOW_STATUS_OK) { - // if the receiver is not ready yet and asks to wait for the next FC frame (give it 3 attempts) - if (flowStatus == CAN_FLOW_STATUS_WAIT_MORE && numFcReceived < 3) { - continue; + //warning(ObdCode::CUSTOM_ERR_CAN_COMMUNICATION, "CAN Flow Control frame not received"); + return 0; } + receiveFrame(&rxmsg, nullptr, 0, timeout); + int flowStatus = rxmsg.data8[0] & 0xf; + // if something is not ok + if (flowStatus != CAN_FLOW_STATUS_OK) { + // if the receiver is not ready yet and asks to wait for the next FC frame (give it 3 attempts) + if (flowStatus == CAN_FLOW_STATUS_WAIT_MORE && numFcReceived < 3) { + continue; + } #ifdef SERIAL_CAN_DEBUG - efiPrintf("*** ERROR: CAN Flow Control mode not supported"); + efiPrintf("*** ERROR: CAN Flow Control mode not supported"); #endif /* SERIAL_CAN_DEBUG */ - //warning(ObdCode::CUSTOM_ERR_CAN_COMMUNICATION, "CAN Flow Control mode not supported"); - return 0; - } - int blockSize = rxmsg.data8[1]; - int minSeparationTime = rxmsg.data8[2]; - if (blockSize != 0 || minSeparationTime != 0) { - // todo: process other Flow Control fields (see ISO 15765-2) + //warning(ObdCode::CUSTOM_ERR_CAN_COMMUNICATION, "CAN Flow Control mode not supported"); + return 0; + } + int blockSize = rxmsg.data8[1]; + int minSeparationTime = rxmsg.data8[2]; + if (blockSize != 0 || minSeparationTime != 0) { + // todo: process other Flow Control fields (see ISO 15765-2) #ifdef SERIAL_CAN_DEBUG - efiPrintf("*** ERROR: CAN Flow Control fields not supported"); + efiPrintf("*** ERROR: CAN Flow Control fields not supported"); #endif /* SERIAL_CAN_DEBUG */ - //warning(ObdCode::CUSTOM_ERR_CAN_COMMUNICATION, "CAN Flow Control fields not supported"); + //warning(ObdCode::CUSTOM_ERR_CAN_COMMUNICATION, "CAN Flow Control fields not supported"); + } + break; } - break; - } #endif /* EFI_UNIT_TEST */ + } // send the rest of the data int idx = 1; diff --git a/firmware/console/binary/tunerstudio.cpp b/firmware/console/binary/tunerstudio.cpp index 43a7bdd8e6..8289289673 100644 --- a/firmware/console/binary/tunerstudio.cpp +++ b/firmware/console/binary/tunerstudio.cpp @@ -104,8 +104,6 @@ static void printErrorCounters() { /* 10mS when receiving byte by byte */ #define TS_COMMUNICATION_TIMEOUT_SHORT TIME_MS2I(10) -static efitimems_t previousWriteReportMs = 0; - static void resetTs() { memset(&tsState, 0, sizeof(tsState)); } @@ -114,7 +112,7 @@ static void resetTs() { void tunerStudioDebug(TsChannelBase* tsChannel, const char *msg) { #if EFI_TUNER_STUDIO_VERBOSE - efiPrintf("%s: %s", tsChannel->name, msg); + efiPrintf("%s: %s", tsChannel->getName(), msg); #endif /* EFI_TUNER_STUDIO_VERBOSE */ } @@ -209,12 +207,6 @@ void TunerStudio::handleWriteValueCommand(TsChannelBase* tsChannel, ts_response_ return; } - efitimems_t nowMs = getTimeNowMs(); - if (nowMs - previousWriteReportMs > 5) { - previousWriteReportMs = nowMs; - efiPrintf("offset %d: value=%d", offset, value); - } - // Skip the write if a preset was just loaded - we don't want to overwrite it if (!rebootForPresetPending) { getWorkingPageAddr()[offset] = value; @@ -275,7 +267,9 @@ static void sendResponseCode(ts_response_format_e mode, TsChannelBase *tsChannel * 'Burn' command is a command to commit the changes */ static void handleBurnCommand(TsChannelBase* tsChannel, ts_response_format_e mode) { - efitimems_t nowMs = getTimeNowMs(); + Timer t; + t.reset(); + tsState.burnCommandCounter++; efiPrintf("got B (Burn) %s", mode == TS_PLAIN ? "plain" : "CRC"); @@ -286,7 +280,7 @@ static void handleBurnCommand(TsChannelBase* tsChannel, ts_response_format_e mod } sendResponseCode(mode, tsChannel, TS_RESPONSE_BURN_OK); - efiPrintf("BURN in %dms", getTimeNowMs() - nowMs); + efiPrintf("BURN in %dms", (int)(t.getElapsedSeconds() * 1e3)); } #if EFI_TUNER_STUDIO && (EFI_PROD_CODE || EFI_SIMULATOR) @@ -302,7 +296,8 @@ static bool isKnownCommand(char command) { || command == TS_GET_FIRMWARE_VERSION || command == TS_PERF_TRACE_BEGIN || command == TS_PERF_TRACE_GET_BUFFER - || command == TS_GET_CONFIG_ERROR; + || command == TS_GET_CONFIG_ERROR + || command == TS_QUERY_BOOTLOADER; } /** @@ -436,7 +431,7 @@ static int tsProcessOne(TsChannelBase* tsChannel) { if (incomingPacketSize == 0 || expectedSize > sizeof(tsChannel->scratchBuffer)) { if (tsChannel->in_sync) { - efiPrintf("process_ts: channel=%s invalid size: %d", tsChannel->name, incomingPacketSize); + efiPrintf("process_ts: channel=%s invalid size: %d", tsChannel->getName(), incomingPacketSize); tunerStudioError(tsChannel, "process_ts: ERROR: CRC header size"); /* send error only if previously we were in sync */ sendErrorCode(tsChannel, TS_RESPONSE_UNDERRUN); @@ -652,14 +647,8 @@ int TunerStudio::handleCrcCommand(TsChannelBase* tsChannel, char *data, int inco uint16_t subsystem = SWAP_UINT16(data16[0]); uint16_t index = SWAP_UINT16(data16[1]); - if (engineConfiguration->debugMode == DBG_BENCH_TEST) { - engine->outputChannels.debugIntField1++; - engine->outputChannels.debugIntField2 = subsystem; - engine->outputChannels.debugIntField3 = index; - } - -#if EFI_PROD_CODE && EFI_ENGINE_CONTROL - executeTSCommand(subsystem, index); +#if (EFI_PROD_CODE || EFI_SIMULATOR) && EFI_ENGINE_CONTROL + executeTSCommand(subsystem, index); #endif /* EFI_PROD_CODE */ sendOkResponse(tsChannel, TS_CRC); } @@ -734,6 +723,15 @@ int TunerStudio::handleCrcCommand(TsChannelBase* tsChannel, char *data, int inco tsChannel->sendResponse(TS_CRC, reinterpret_cast(configError), strlen(configError), true); break; } + case TS_QUERY_BOOTLOADER: { + uint8_t bldata = TS_QUERY_BOOTLOADER_NONE; +#if EFI_USE_OPENBLT + bldata = TS_QUERY_BOOTLOADER_OPENBLT; +#endif + + tsChannel->sendResponse(TS_CRC, &bldata, 1, false); + break; + } default: sendErrorCode(tsChannel, TS_RESPONSE_UNRECOGNIZED_COMMAND); static char tsErrorBuff[80]; diff --git a/firmware/console/binary/tunerstudio_io.cpp b/firmware/console/binary/tunerstudio_io.cpp index 1844e923d0..51916a896a 100644 --- a/firmware/console/binary/tunerstudio_io.cpp +++ b/firmware/console/binary/tunerstudio_io.cpp @@ -86,8 +86,9 @@ void TsChannelBase::writeCrcPacketLarge(const uint8_t responseCode, const uint8_ flush(); } -TsChannelBase::TsChannelBase(const char *name) { - this->name = name; +TsChannelBase::TsChannelBase(const char *name) + : m_name(name) +{ } void TsChannelBase::assertPacketSize(size_t size, bool allowLongPackets) { diff --git a/firmware/console/binary/tunerstudio_io.h b/firmware/console/binary/tunerstudio_io.h index 238377a68c..a2c1638bbe 100644 --- a/firmware/console/binary/tunerstudio_io.h +++ b/firmware/console/binary/tunerstudio_io.h @@ -46,7 +46,10 @@ class TsChannelBase { * See 'blockingFactor' in rusefi.ini */ char scratchBuffer[BLOCKING_FACTOR + 30]; - const char *name; + + const char* getName() const { + return m_name; + } void assertPacketSize(size_t size, bool allowLongPackets); uint32_t writePacketHeader(const uint8_t responseCode, const size_t size); @@ -65,6 +68,9 @@ class TsChannelBase { * command and check if it is supported. */ bool in_sync = false; +protected: + const char * const m_name; + private: void writeCrcPacketLarge(uint8_t responseCode, const uint8_t* buf, size_t size); }; diff --git a/firmware/console/binary_log/binary_logging.cpp b/firmware/console/binary_log/binary_logging.cpp index 557bc3599c..37899268d2 100644 --- a/firmware/console/binary_log/binary_logging.cpp +++ b/firmware/console/binary_log/binary_logging.cpp @@ -119,7 +119,7 @@ void writeSdBlock(Writer& outBuffer) { // todo: add a log field for SD card period // prevSdCardLineTime = nowUs; - packedTime = getTimeNowMs() * 1.0 / TIME_PRECISION; + packedTime = getTimeNowUs() * 1e-3 / TIME_PRECISION; uint8_t sum = 0; for (size_t fieldIndex = 0; fieldIndex < efi::size(fields); fieldIndex++) { diff --git a/firmware/console/binary_log/log_field.cpp b/firmware/console/binary_log/log_field.cpp index 049dddb83f..22415283a8 100644 --- a/firmware/console/binary_log/log_field.cpp +++ b/firmware/console/binary_log/log_field.cpp @@ -44,7 +44,10 @@ void LogField::writeHeader(Writer& outBuffer) const { // Offset 55, (optional) category string if (m_category) { - strncpy(&buffer[55], m_category, 34); + size_t categoryLength = strlen(m_category); + size_t lengthAfterCategory = 34 - categoryLength; + memcpy(&buffer[55], m_category, categoryLength); + memset(&buffer[55] + categoryLength, 0, lengthAfterCategory); } else { memset(&buffer[55], 0, 34); } diff --git a/firmware/console/binary_log/log_fields_generated.h b/firmware/console/binary_log/log_fields_generated.h index 56c7e41cb4..b585a38ee1 100644 --- a/firmware/console/binary_log/log_fields_generated.h +++ b/firmware/console/binary_log/log_fields_generated.h @@ -17,7 +17,6 @@ static constexpr LogField fields[] = { {engine->outputChannels.MAPValue, "MAP", "kPa", 1}, {engine->outputChannels.baroPressure, "baroPressure", "kPa", 1}, {engine->outputChannels.lambdaValue, "Lambda", "", 3}, - {engine->outputChannels.knockRetard, "Knock: Retard", "deg", 1}, {engine->outputChannels.VBatt, "VBatt", "V", 2}, {engine->outputChannels.oilPressure, "Oil Pressure", "kPa", 0}, {engine->outputChannels.vvtPositionB1I, "VVT: bank 1 intake", "deg", 1}, @@ -42,7 +41,6 @@ static constexpr LogField fields[] = { {engine->outputChannels.fuelFlowRate, "Fuel: Flow rate", "gram/s", 3}, {engine->outputChannels.TPS2Value, "TPS2", "%", 2}, {engine->outputChannels.tuneCrc16, "Tune CRC16", "crc16", 0}, - {engine->outputChannels.knockLevel, "Knock: Current level", "Volts", 2}, {engine->outputChannels.seconds, "Uptime", "sec", 0}, {engine->outputChannels.engineMode, "Engine Mode", "em", 0}, {engine->outputChannels.firmwareVersion, "firmware", "version_f", 0}, @@ -59,10 +57,10 @@ static constexpr LogField fields[] = { {engine->outputChannels.tcuDesiredGear, "TCU: Desired Gear", "gear", 0}, {engine->outputChannels.flexPercent, "Flex Ethanol %", "%", 1}, {engine->outputChannels.wastegatePositionSensor, "Wastegate position sensor", "%", 2}, - {engine->outputChannels.tsConfigVersion, "tsConfigVersion", "", 0}, {engine->outputChannels.calibrationValue, "calibrationValue", "", 0}, {engine->outputChannels.calibrationMode, "calibrationMode", "", 0}, - {engine->outputChannels.idleTargetPosition, "Idle: Stepper target position", "", 0}, + {engine->outputChannels.idleStepperTargetPosition, "Idle: Stepper target position", "", 0}, + {engine->outputChannels.tsConfigVersion, "tsConfigVersion", "", 0}, {engine->outputChannels.totalTriggerErrorCounter, "Trigger Error Counter", "counter", 0}, {engine->outputChannels.orderingErrorCounter, "orderingErrorCounter", "", 0}, {engine->outputChannels.warningCounter, "Warning: counter", "count", 0}, @@ -102,18 +100,6 @@ static constexpr LogField fields[] = { {engine->outputChannels.rawOilPressure, "rawOilPressure", "V", 3}, {engine->outputChannels.fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", "", 0}, {engine->outputChannels.tcuCurrentGear, "Current Gear", "gear", 0}, - {engine->outputChannels.knock[0], "Knock: Cyl 1", "dBv", 0}, - {engine->outputChannels.knock[1], "Knock: Cyl 2", "dBv", 0}, - {engine->outputChannels.knock[2], "Knock: Cyl 3", "dBv", 0}, - {engine->outputChannels.knock[3], "Knock: Cyl 4", "dBv", 0}, - {engine->outputChannels.knock[4], "Knock: Cyl 5", "dBv", 0}, - {engine->outputChannels.knock[5], "Knock: Cyl 6", "dBv", 0}, - {engine->outputChannels.knock[6], "Knock: Cyl 7", "dBv", 0}, - {engine->outputChannels.knock[7], "Knock: Cyl 8", "dBv", 0}, - {engine->outputChannels.knock[8], "Knock: Cyl 9", "dBv", 0}, - {engine->outputChannels.knock[9], "Knock: Cyl 10", "dBv", 0}, - {engine->outputChannels.knock[10], "Knock: Cyl 11", "dBv", 0}, - {engine->outputChannels.knock[11], "Knock: Cyl 12", "dBv", 0}, {engine->outputChannels.AFRValue, "Air/Fuel Ratio", "AFR", 2}, {engine->outputChannels.VssAcceleration, "Vss Accel", "m/s2", 2}, {engine->outputChannels.lambdaValue2, "Lambda 2", "", 3}, @@ -126,7 +112,6 @@ static constexpr LogField fields[] = { {engine->outputChannels.rawTps1Secondary, "rawTps1Secondary", "V", 3}, {engine->outputChannels.rawTps2Primary, "rawTps2Primary", "V", 3}, {engine->outputChannels.rawTps2Secondary, "rawTps2Secondary", "V", 3}, - {engine->outputChannels.knockCount, "Knock: Count", "", 0}, {engine->outputChannels.accelerationZ, "Acceleration: Z", "G", 0}, {engine->outputChannels.accelerationRoll, "Acceleration: Roll", "G", 0}, {engine->outputChannels.accelerationYaw, "Acceleration: Yaw", "G", 0}, @@ -281,6 +266,17 @@ static constexpr LogField fields[] = { {engine->outputChannels.schedulingUsedCount, "schedulingUsedCount", "", 0}, {engine->outputChannels.Gego, "Gego", "%", 2}, {engine->outputChannels.testBenchIter, "testBenchIter", "count", 0}, + {engine->outputChannels.oilTemp, "oilTemp", "deg C", 1}, + {engine->outputChannels.fuelTemp, "fuelTemp", "deg C", 1}, + {engine->outputChannels.ambientTemp, "ambientTemp", "deg C", 1}, + {engine->outputChannels.compressorDischargeTemp, "compressorDischargeTemp", "deg C", 1}, + {engine->outputChannels.compressorDischargePressure, "compressorDischargePressure", "kPa", 1}, + {engine->outputChannels.throttleInletPressure, "throttleInletPressure", "kPa", 1}, + {engine->outputChannels.ignitionOnTime, "ignitionOnTime", "sec", 1}, + {engine->outputChannels.engineRunTime, "engineRunTime", "sec", 1}, + {engine->outputChannels.distanceTraveled, "distanceTraveled", "km", 1}, + {engine->outputChannels.afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", "AFR", 2}, + {engine->outputChannels.afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", "AFR", 2}, {engine->fuelComputer.totalFuelCorrection, "Fuel: Total correction", "mult", 2}, {engine->fuelComputer.running.postCrankingFuelCorrection, "Fuel: Post cranking mult", "", 0}, {engine->fuelComputer.running.intakeTemperatureCoefficient, "Fuel: IAT correction", "", 0}, @@ -294,6 +290,7 @@ static constexpr LogField fields[] = { {engine->fuelComputer.stoichiometricRatio, "Fuel: Stoich ratio", "ratio", 2}, {engine->fuelComputer.sdTcharge_coff, "sdTcharge_coff", "", 0}, {engine->fuelComputer.sdAirMassInOneCylinder, "Air: Cylinder airmass", "g", 3}, + {engine->fuelComputer.normalizedCylinderFilling, "Air: Normalized cyl filling", "%", 1}, {engine->ignitionState.baseDwell, "baseDwell", "ms", 1}, {engine->ignitionState.sparkDwell, "Ign: Dwell", "ms", 1}, {engine->ignitionState.dwellAngle, "ignition dwell duration", "deg", 1}, @@ -303,13 +300,30 @@ static constexpr LogField fields[] = { {engine->ignitionState.dwellVoltageCorrection, "Ign: Dwell voltage correction", "", 0}, {engine->ignitionState.luaTimingAdd, "Ign: Lua timing add", "deg", 2}, {engine->ignitionState.luaTimingMult, "Ign: Lua timing mult", "deg", 2}, - {engine->boostController.luaTargetAdd, "Boost: Lua target add", "v", 1}, - {engine->boostController.boostOutput, "Boost: Output", "percent", 2}, - {engine->boostController.luaTargetMult, "Boost: Lua target mult", "v", 1}, - {engine->boostController.openLoopPart, "Boost: Open loop", "v", 1}, - {engine->boostController.luaOpenLoopAdd, "Boost: Lua open loop add", "v", 1}, - {engine->boostController.boostControllerClosedLoopPart, "Boost: Closed loop", "%", 1}, - {engine->boostController.boostControlTarget, "Boost: Target", "kPa", 1}, + {___engine.module()->m_knockLevel, "Knock: Current level", "Volts", 2}, + {___engine.module()->m_knockCyl[0], "Knock: Cyl 1", "dBv", 0}, + {___engine.module()->m_knockCyl[1], "Knock: Cyl 2", "dBv", 0}, + {___engine.module()->m_knockCyl[2], "Knock: Cyl 3", "dBv", 0}, + {___engine.module()->m_knockCyl[3], "Knock: Cyl 4", "dBv", 0}, + {___engine.module()->m_knockCyl[4], "Knock: Cyl 5", "dBv", 0}, + {___engine.module()->m_knockCyl[5], "Knock: Cyl 6", "dBv", 0}, + {___engine.module()->m_knockCyl[6], "Knock: Cyl 7", "dBv", 0}, + {___engine.module()->m_knockCyl[7], "Knock: Cyl 8", "dBv", 0}, + {___engine.module()->m_knockCyl[8], "Knock: Cyl 9", "dBv", 0}, + {___engine.module()->m_knockCyl[9], "Knock: Cyl 10", "dBv", 0}, + {___engine.module()->m_knockCyl[10], "Knock: Cyl 11", "dBv", 0}, + {___engine.module()->m_knockCyl[11], "Knock: Cyl 12", "dBv", 0}, + {___engine.module()->m_knockRetard, "Knock: Retard", "deg", 1}, + {___engine.module()->m_knockThreshold, "Knock: Threshold", "", 0}, + {___engine.module()->m_knockCount, "Knock: Count", "", 0}, + {___engine.module()->m_maximumRetard, "Knock: Max retard", "", 0}, + {___engine.module()->luaTargetAdd, "Boost: Lua target add", "v", 1}, + {___engine.module()->boostOutput, "Boost: Output", "percent", 2}, + {___engine.module()->luaTargetMult, "Boost: Lua target mult", "v", 1}, + {___engine.module()->openLoopPart, "Boost: Open loop", "v", 1}, + {___engine.module()->luaOpenLoopAdd, "Boost: Lua open loop add", "v", 1}, + {___engine.module()->boostControllerClosedLoopPart, "Boost: Closed loop", "%", 1}, + {___engine.module()->boostControlTarget, "Boost: Target", "kPa", 1}, {engine->engineState.lua.fuelAdd, "Lua: Fuel add", "g", 3}, {engine->engineState.lua.fuelMult, "Lua: Fuel mult", "", 0}, {engine->engineState.sd.tCharge, "Air: Charge temperature estimate", "deg C", 1}, diff --git a/firmware/console/connector_uart_dma.cpp b/firmware/console/connector_uart_dma.cpp index 4af3c8d701..3f308654fc 100644 --- a/firmware/console/connector_uart_dma.cpp +++ b/firmware/console/connector_uart_dma.cpp @@ -48,7 +48,7 @@ UartDmaTsChannel::UartDmaTsChannel(UARTDriver& driver) // Store a pointer to this instance so we can get it back later in the DMA callback driver.dmaAdapterInstance = this; - iqObjectInit(&fifoRxQueue, buffer, sizeof(buffer), nullptr, nullptr); + iqObjectInit(&fifoRxQueue, rxFifoBuffer, sizeof(rxFifoBuffer), nullptr, nullptr); } void UartDmaTsChannel::start(uint32_t baud) { diff --git a/firmware/console/connector_uart_dma.h b/firmware/console/connector_uart_dma.h index c42efc1136..b857079357 100644 --- a/firmware/console/connector_uart_dma.h +++ b/firmware/console/connector_uart_dma.h @@ -34,7 +34,7 @@ class UartDmaTsChannel : public UartTsChannel { // current read position for the DMA buffer volatile int readPos; // secondary FIFO buffer for async. transfer - uint8_t buffer[TS_FIFO_BUFFER_SIZE]; + uint8_t rxFifoBuffer[TS_FIFO_BUFFER_SIZE]; // input FIFO Rx queue input_queue_t fifoRxQueue; }; diff --git a/firmware/console/status_loop.cpp b/firmware/console/status_loop.cpp index 5aea1cb512..877d96bf30 100644 --- a/firmware/console/status_loop.cpp +++ b/firmware/console/status_loop.cpp @@ -85,15 +85,9 @@ extern WaveChart waveChart; #include "sensor_chart.h" -int warningEnabled = true; - extern int maxTriggerReentrant; extern uint32_t maxLockedDuration; -static void setWarningEnabled(int value) { - warningEnabled = value; -} - /** * This is useful if we are changing engine mode dynamically * For example http://rusefi.com/forum/viewtopic.php?f=5&t=1085 @@ -104,8 +98,6 @@ static int packEngineMode() { engineConfiguration->ignitionMode; } -static int prevCkpEventCounter = -1; - /** * Time when the firmware version was last reported * TODO: implement a request/response instead of just constantly sending this out @@ -148,7 +140,6 @@ static void printEngineSnifferPinMappings() { extern const char *vvtNames[]; printOutPin(vvtNames[i], engineConfiguration->camInputs[i]); } - printOutPin(PROTOCOL_TACH_NAME, engineConfiguration->tachOutputPin); #if EFI_LOGIC_ANALYZER printOutPin(PROTOCOL_WA_CHANNEL_1, engineConfiguration->logicAnalyzerPins[0]); printOutPin(PROTOCOL_WA_CHANNEL_2, engineConfiguration->logicAnalyzerPins[1]); @@ -191,8 +182,6 @@ void printOverallStatus() { } } -static systime_t timeOfPreviousReport = (systime_t) -1; - #if !defined(LOGIC_ANALYZER_BUFFER_SIZE) // TODO: how small can this be? #define LOGIC_ANALYZER_BUFFER_SIZE 1000 @@ -214,7 +203,6 @@ void updateDevConsoleState() { // todo: unify with simulator! if (hasFirmwareError()) { efiPrintf("%s error: %s", CRITICAL_PREFIX, getCriticalErrorMessage()); - warningEnabled = false; return; } #endif /* EFI_PROD_CODE */ @@ -223,9 +211,12 @@ void updateDevConsoleState() { printFullAdcReportIfNeeded(); #endif /* HAL_USE_ADC */ +#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT systime_t nowSeconds = getTimeNowS(); -#if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT + static systime_t timeOfPreviousReport = (systime_t) -1; + static int prevCkpEventCounter = -1; + int currentCkpEventCounter = engine->triggerCentral.triggerState.getTotalEventCounter(); if (prevCkpEventCounter == currentCkpEventCounter && timeOfPreviousReport == nowSeconds) { return; @@ -243,21 +234,6 @@ void updateDevConsoleState() { #endif /* EFI_LOGIC_ANALYZER */ } -__attribute__((weak)) Gpio getCommsLedPin() { - return Gpio::Unassigned; -} - -__attribute__((weak)) Gpio getWarningLedPin() { - return Gpio::Unassigned; -} - -__attribute__((weak)) Gpio getRunningLedPin() { - return Gpio::Unassigned; -} - -static OutputPin* leds[] = { &enginePins.warningLedPin, &enginePins.runningLedPin, - &enginePins.errorLedPin, &enginePins.communicationLedPin, &enginePins.checkEnginePin }; - static void initStatusLeds() { enginePins.communicationLedPin.initPin("led: comm status", getCommsLedPin(), LED_PIN_MODE, true); // checkEnginePin is already initialized by the time we get here @@ -268,6 +244,9 @@ static void initStatusLeds() { #if EFI_PROD_CODE +static OutputPin* leds[] = { &enginePins.warningLedPin, &enginePins.runningLedPin, + &enginePins.errorLedPin, &enginePins.communicationLedPin, &enginePins.checkEnginePin }; + static bool isTriggerErrorNow() { #if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT bool justHadError = engine->triggerCentral.triggerState.someSortOfTriggerError(); @@ -372,6 +351,18 @@ static void updateTempSensors() { SensorResult auxTemp2 = Sensor::get(SensorType::AuxTemp2); engine->outputChannels.auxTemp2 = auxTemp2.value_or(0); + + SensorResult oilTemp = Sensor::get(SensorType::OilTemperature); + engine->outputChannels.oilTemp = oilTemp.value_or(0); + + SensorResult fuelTemp = Sensor::get(SensorType::FuelTemperature); + engine->outputChannels.fuelTemp = fuelTemp.value_or(0); + + SensorResult ambientTemp = Sensor::get(SensorType::AmbientTemperature); + engine->outputChannels.ambientTemp = ambientTemp.value_or(0); + + SensorResult compressorDischargeTemp = Sensor::get(SensorType::CompressorDischargeTemperature); + engine->outputChannels.compressorDischargeTemp = compressorDischargeTemp.value_or(0); } static void updateThrottles() { @@ -404,10 +395,12 @@ static void updateLambda() { float lambdaValue = Sensor::getOrZero(SensorType::Lambda1); engine->outputChannels.lambdaValue = lambdaValue; engine->outputChannels.AFRValue = lambdaValue * engine->fuelComputer.stoichiometricRatio; + engine->outputChannels.afrGasolineScale = lambdaValue * STOICH_RATIO; float lambda2Value = Sensor::getOrZero(SensorType::Lambda2); engine->outputChannels.lambdaValue2 = lambda2Value; engine->outputChannels.AFRValue2 = lambda2Value * engine->fuelComputer.stoichiometricRatio; + engine->outputChannels.afr2GasolineScale = lambda2Value * STOICH_RATIO; } static void updateFuelSensors() { @@ -461,9 +454,9 @@ static void updateRawSensors() { engine->outputChannels.luaGauges[1] = Sensor::getOrZero(SensorType::LuaGauge2); for (int i = 0; i < LUA_ANALOG_INPUT_COUNT; i++) { - adc_channel_e ch = engineConfiguration->auxAnalogInputs[i]; - if (isAdcChannelValid(ch)) { - engine->outputChannels.rawAnalogInput[i] = getVoltageDivided("raw aux", ch); + adc_channel_e channel = engineConfiguration->auxAnalogInputs[i]; + if (isAdcChannelValid(channel)) { + engine->outputChannels.rawAnalogInput[i] = getVoltageDivided("raw aux", channel); } } @@ -474,6 +467,9 @@ static void updatePressures() { engine->outputChannels.MAPValue = Sensor::getOrZero(SensorType::Map); engine->outputChannels.oilPressure = Sensor::getOrZero(SensorType::OilPressure); + engine->outputChannels.compressorDischargePressure = Sensor::getOrZero(SensorType::CompressorDischargePressure); + engine->outputChannels.throttleInletPressure = Sensor::getOrZero(SensorType::ThrottleInletPressure); + engine->outputChannels.auxLinear1 = Sensor::getOrZero(SensorType::AuxLinear1); engine->outputChannels.auxLinear2 = Sensor::getOrZero(SensorType::AuxLinear2); } @@ -511,28 +507,28 @@ static void updateFuelCorrections() { } static void updateFuelResults() { - engine->outputChannels.fuelFlowRate = engine->engineState.fuelConsumption.getConsumptionGramPerSecond(); - engine->outputChannels.totalFuelConsumption = engine->engineState.fuelConsumption.getConsumedGrams(); + engine->outputChannels.fuelFlowRate = engine->module()->getConsumptionGramPerSecond(); + engine->outputChannels.totalFuelConsumption = engine->module()->getConsumedGrams(); + engine->outputChannels.ignitionOnTime = engine->module()->getIgnitionOnTime(); + engine->outputChannels.engineRunTime = engine->module()->getEngineRunTime(); + + // output channel in km + engine->outputChannels.distanceTraveled = 0.001f * engine->module()->getDistanceMeters(); } static void updateFuelInfo() { updateFuelCorrections(); updateFuelResults(); - const auto& wallFuel = engine->injectionEvents.elements[0].wallFuel; + const auto& wallFuel = engine->injectionEvents.elements[0].getWallFuel(); engine->outputChannels.wallFuelAmount = wallFuel.getWallFuel() * 1000; // Convert grams to mg engine->outputChannels.wallFuelCorrectionValue = wallFuel.wallFuelCorrection * 1000; // Convert grams to mg - engine->outputChannels.injectionOffset = engine->engineState.injectionOffset; - engine->outputChannels.veValue = engine->engineState.currentVe; } static void updateIgnition(int rpm) { engine->outputChannels.coilDutyCycle = getCoilDutyCycle(rpm); - - engine->outputChannels.knockCount = engine->module()->getKnockCount(); - engine->outputChannels.knockRetard = engine->module()->getKnockRetard(); } static void updateFlags() { @@ -560,13 +556,6 @@ static void updateFlags() { #endif /* EFI_INTERNAL_FLASH */ } -// weird thing: one of the reasons for this to be a separate method is stack usage reduction in non-optimized build -// see https://github.com/rusefi/rusefi/issues/3302 and linked tickets -static void updateTpsDebug() { - // TPS 1 pri/sec ratio - useful for ford ETB that has partial-range second channel - engine->outputChannels.debugFloatField5 = 100 * Sensor::getOrZero(SensorType::Tps1Primary) / Sensor::getOrZero(SensorType::Tps1Secondary); -} - // sensor state for EFI Analytics Tuner Studio // todo: the 'let's copy internal state for external consumers' approach is DEPRECATED // As of 2022 it's preferred to leverage LiveData where all state is exposed @@ -586,11 +575,9 @@ void updateTunerStudioState() { tsOutputChannels->tsConfigVersion = TS_FILE_VERSION; static_assert(offsetof (TunerStudioOutputChannels, tsConfigVersion) == TS_FILE_VERSION_OFFSET); -DcHardware *getdcHardware(); - - DcHardware *dc = getdcHardware(); - engine->dc_motors.dcOutput0 = dc->dcMotor.get(); - engine->dc_motors.isEnabled0_int = dc->msg() == nullptr; + DcHardware *dc = getdcHardware(); + engine->dc_motors.dcOutput0 = dc->dcMotor.get(); + engine->dc_motors.isEnabled0_int = dc->msg() == nullptr; #if EFI_SHAFT_POSITION_INPUT @@ -725,13 +712,6 @@ DcHardware *getdcHardware(); postMapState(tsOutputChannels); break; #endif /* EFI_MAP_AVERAGING */ - case DBG_ANALOG_INPUTS: - tsOutputChannels->debugFloatField4 = isAdcChannelValid(engineConfiguration->map.sensor.hwChannel) ? getVoltageDivided("map", engineConfiguration->map.sensor.hwChannel) : 0.0f; - tsOutputChannels->debugFloatField7 = isAdcChannelValid(engineConfiguration->afr.hwChannel) ? getVoltageDivided("ego", engineConfiguration->afr.hwChannel) : 0.0f; - break; - case DBG_ANALOG_INPUTS2: - updateTpsDebug(); - break; case DBG_INSTANT_RPM: { #if EFI_SHAFT_POSITION_INPUT @@ -757,10 +737,6 @@ DcHardware *getdcHardware(); #endif /* EFI_TUNER_STUDIO */ -void initStatusLoop() { - addConsoleActionI("warn", setWarningEnabled); -} - void startStatusThreads() { // todo: refactoring needed, this file should probably be split into pieces #if EFI_PROD_CODE diff --git a/firmware/console/status_loop.h b/firmware/console/status_loop.h index 20bb25445d..2d710c3790 100644 --- a/firmware/console/status_loop.h +++ b/firmware/console/status_loop.h @@ -11,6 +11,5 @@ void updateDevConsoleState(); void startStatusThreads(); -void initStatusLoop(); void printOverallStatus(); diff --git a/firmware/controllers/actuators/boost_control.cpp b/firmware/controllers/actuators/boost_control.cpp index 44bebb9fe9..e798abe55a 100644 --- a/firmware/controllers/actuators/boost_control.cpp +++ b/firmware/controllers/actuators/boost_control.cpp @@ -9,7 +9,6 @@ #if EFI_BOOST_CONTROL #include "boost_control.h" -#include "pid_auto_tune.h" #include "electronic_throttle.h" #define NO_PIN_PERIOD 500 @@ -29,6 +28,8 @@ void BoostController::init(IPwm* pwm, const ValueProvider3D* openLoopMap, const m_pid.initPidClass(pidParams); resetLua(); + + hasInitBoost = true; } void BoostController::resetLua() { @@ -37,8 +38,8 @@ void BoostController::resetLua() { luaOpenLoopAdd = 0; } -void BoostController::onConfigurationChange(pid_s* previousConfiguration) { - if (!m_pid.isSame(previousConfiguration)) { +void BoostController::onConfigurationChange(engine_configuration_s const * previousConfig) { + if (!m_pid.isSame(&previousConfig->boostPid)) { m_shouldResetPid = true; } } @@ -142,7 +143,7 @@ percent_t BoostController::getClosedLoopImpl(float target, float manifoldPressur return 0; } - return m_pid.getOutput(target, manifoldPressure, SLOW_CALLBACK_PERIOD_MS / 1000.0f); + return m_pid.getOutput(target, manifoldPressure, FAST_CALLBACK_PERIOD_MS / 1000.0f); } expected BoostController::getClosedLoop(float target, float manifoldPressure) { @@ -174,13 +175,13 @@ void BoostController::setOutput(expected output) { setEtbWastegatePosition(boostOutput); } -void BoostController::update() { +void BoostController::onFastCallback() { if (!hasInitBoost) { - return; + return; } - m_pid.iTermMin = -50; - m_pid.iTermMax = 50; + m_pid.iTermMin = -20; + m_pid.iTermMax = 20; rpmTooLow = Sensor::getOrZero(SensorType::Rpm) < engineConfiguration->boostControlMinRpm; tpsTooLow = Sensor::getOrZero(SensorType::Tps1) < engineConfiguration->boostControlMinTps; @@ -236,10 +237,6 @@ void startBoostPin() { #endif /* EFI_UNIT_TEST */ } -void onConfigurationChangeBoostCallback(engine_configuration_s *previousConfiguration) { - engine->boostController.onConfigurationChange(&previousConfiguration->boostPid); -} - void initBoostCtrl() { // todo: why do we have 'isBoostControlEnabled' setting exactly? // 'initVvtActuators' is an example of a subsystem without explicit enable @@ -263,12 +260,11 @@ void initBoostCtrl() { boostMapClosed.init(config->boostTableClosedLoop, config->boostTpsBins, config->boostRpmBins); // Set up boost controller instance - engine->boostController.init(&boostPwmControl, &boostMapOpen, &boostMapClosed, &engineConfiguration->boostPid); + engine->module().unmock().init(&boostPwmControl, &boostMapOpen, &boostMapClosed, &engineConfiguration->boostPid); #if !EFI_UNIT_TEST startBoostPin(); #endif - engine->boostController.hasInitBoost = true; } #endif diff --git a/firmware/controllers/actuators/boost_control.h b/firmware/controllers/actuators/boost_control.h index 167b18c764..2860ebdfe0 100644 --- a/firmware/controllers/actuators/boost_control.h +++ b/firmware/controllers/actuators/boost_control.h @@ -13,15 +13,16 @@ struct IPwm; -class BoostController : public boost_control_s, public ClosedLoopController { +class BoostController : public EngineModule, public boost_control_s, public ClosedLoopController { public: void init(IPwm* pmw, const ValueProvider3D* openLoopMap, const ValueProvider3D* closedLoopTargetMap, pid_s* pidParams); - void update(); + + void onFastCallback() override; void resetLua(); // Called when the configuration may have changed. Controller will // reset if necessary. - void onConfigurationChange(pid_s* previousConfiguration); + void onConfigurationChange(engine_configuration_s const * previousConfig) override; // Helpers for individual parts of boost control expected observePlant() const override; @@ -45,4 +46,3 @@ class BoostController : public boost_control_s, public ClosedLoopControllerrpmCalculator.isCranking(); notRunning = !engine->rpmCalculator.isRunning(); +#else + cranking = false; + notRunning = true; +#endif disabledWhileEngineStopped = notRunning && disableWhenStopped(); brokenClt = !clt; diff --git a/firmware/controllers/actuators/gppwm/gppwm_channel.cpp b/firmware/controllers/actuators/gppwm/gppwm_channel.cpp index c8d5c02d69..09f1448ca7 100644 --- a/firmware/controllers/actuators/gppwm/gppwm_channel.cpp +++ b/firmware/controllers/actuators/gppwm/gppwm_channel.cpp @@ -105,12 +105,12 @@ float GppwmChannel::setOutput(float result) { } } -void GppwmChannel::init(bool usePwm, IPwm* pwm, OutputPin* outputPin, const ValueProvider3D* table, const gppwm_channel* config) { +void GppwmChannel::init(bool usePwm, IPwm* pwm, OutputPin* outputPin, const ValueProvider3D* table, const gppwm_channel* cfg) { m_usePwm = usePwm; m_pwm = pwm; m_output = outputPin; m_table = table; - m_config = config; + m_config = cfg; } GppwmResult GppwmChannel::getOutput() const { diff --git a/firmware/controllers/actuators/gppwm/gppwm_channel.h b/firmware/controllers/actuators/gppwm/gppwm_channel.h index 7933b6087b..bc1ae40973 100644 --- a/firmware/controllers/actuators/gppwm/gppwm_channel.h +++ b/firmware/controllers/actuators/gppwm/gppwm_channel.h @@ -17,7 +17,7 @@ struct GppwmResult { class GppwmChannel { public: - void init(bool usePwm, IPwm* pwm, OutputPin* outputPin, const ValueProvider3D* table, const gppwm_channel* config); + void init(bool usePwm, IPwm* pwm, OutputPin* outputPin, const ValueProvider3D* table, const gppwm_channel* cfg); GppwmResult update(); GppwmResult getOutput() const; diff --git a/firmware/controllers/actuators/harley_acr.cpp b/firmware/controllers/actuators/harley_acr.cpp index 0ff853cb68..9ed0ed3ae5 100644 --- a/firmware/controllers/actuators/harley_acr.cpp +++ b/firmware/controllers/actuators/harley_acr.cpp @@ -11,6 +11,7 @@ #include "pch.h" static bool getAcrState() { +#if EFI_SHAFT_POSITION_INPUT auto currentPhase = getTriggerCentral()->getCurrentEnginePhase(getTimeNowNt()); if (!currentPhase) { return false; @@ -39,6 +40,9 @@ static bool getAcrState() { // ACR active - not enough revs completed return true; } +#else // EFI_SHAFT_POSITION_INPUT + return false; +#endif // EFI_SHAFT_POSITION_INPUT } void HarleyAcr::onSlowCallback() { diff --git a/firmware/controllers/actuators/idle_state.txt b/firmware/controllers/actuators/idle_state.txt index 0c4306d869..c5ca5f012d 100644 --- a/firmware/controllers/actuators/idle_state.txt +++ b/firmware/controllers/actuators/idle_state.txt @@ -25,7 +25,6 @@ custom idle_state_e 4 bits, S32, @OFFSET@, [0:2], "not important" bit looksLikeRunning bit looksLikeCoasting bit looksLikeCrankToIdle - bit isVerboseIAC bit isIdleCoasting;Idle: coasting bit isIdleClosedLoop;Idle: Closed loop active diff --git a/firmware/controllers/actuators/idle_state_generated.h b/firmware/controllers/actuators/idle_state_generated.h index b6a1b448f5..0891e2bd2d 100644 --- a/firmware/controllers/actuators/idle_state_generated.h +++ b/firmware/controllers/actuators/idle_state_generated.h @@ -60,46 +60,46 @@ struct idle_state_s { bool looksLikeCoasting : 1 {}; // offset 24 bit 12 bool looksLikeCrankToIdle : 1 {}; - // offset 24 bit 13 - bool isVerboseIAC : 1 {}; // Idle: coasting - // offset 24 bit 14 + // offset 24 bit 13 bool isIdleCoasting : 1 {}; // Idle: Closed loop active - // offset 24 bit 15 + // offset 24 bit 14 bool isIdleClosedLoop : 1 {}; + // offset 24 bit 15 + bool unusedBit_21_15 : 1 {}; // offset 24 bit 16 - bool unusedBit_22_16 : 1 {}; + bool unusedBit_21_16 : 1 {}; // offset 24 bit 17 - bool unusedBit_22_17 : 1 {}; + bool unusedBit_21_17 : 1 {}; // offset 24 bit 18 - bool unusedBit_22_18 : 1 {}; + bool unusedBit_21_18 : 1 {}; // offset 24 bit 19 - bool unusedBit_22_19 : 1 {}; + bool unusedBit_21_19 : 1 {}; // offset 24 bit 20 - bool unusedBit_22_20 : 1 {}; + bool unusedBit_21_20 : 1 {}; // offset 24 bit 21 - bool unusedBit_22_21 : 1 {}; + bool unusedBit_21_21 : 1 {}; // offset 24 bit 22 - bool unusedBit_22_22 : 1 {}; + bool unusedBit_21_22 : 1 {}; // offset 24 bit 23 - bool unusedBit_22_23 : 1 {}; + bool unusedBit_21_23 : 1 {}; // offset 24 bit 24 - bool unusedBit_22_24 : 1 {}; + bool unusedBit_21_24 : 1 {}; // offset 24 bit 25 - bool unusedBit_22_25 : 1 {}; + bool unusedBit_21_25 : 1 {}; // offset 24 bit 26 - bool unusedBit_22_26 : 1 {}; + bool unusedBit_21_26 : 1 {}; // offset 24 bit 27 - bool unusedBit_22_27 : 1 {}; + bool unusedBit_21_27 : 1 {}; // offset 24 bit 28 - bool unusedBit_22_28 : 1 {}; + bool unusedBit_21_28 : 1 {}; // offset 24 bit 29 - bool unusedBit_22_29 : 1 {}; + bool unusedBit_21_29 : 1 {}; // offset 24 bit 30 - bool unusedBit_22_30 : 1 {}; + bool unusedBit_21_30 : 1 {}; // offset 24 bit 31 - bool unusedBit_22_31 : 1 {}; + bool unusedBit_21_31 : 1 {}; // Idle: Target RPM // offset 28 int idleTarget = (int)0; diff --git a/firmware/controllers/actuators/idle_thread.cpp b/firmware/controllers/actuators/idle_thread.cpp index 521c3f2138..b8f55a869e 100644 --- a/firmware/controllers/actuators/idle_thread.cpp +++ b/firmware/controllers/actuators/idle_thread.cpp @@ -316,14 +316,6 @@ float IdleController::getIdlePosition(float rpm) { auto phase = determinePhase(rpm, targetRpm, tps, vehicleSpeed, crankingTaper); m_lastPhase = phase; - bool isAutomaticIdle = tps.Valid && engineConfiguration->idleMode == IM_AUTO; - - isVerboseIAC = engineConfiguration->isVerboseIAC && isAutomaticIdle; - if (isVerboseIAC) { - efiPrintf("Idle state %s", getIdle_state_e(idleState)); - getIdlePid()->showPidStatus("idle"); - } - finishIdleTestIfNeeded(); undoIdleBlipIfNeeded(); @@ -357,7 +349,7 @@ float IdleController::getIdlePosition(float rpm) { } extern StepperMotor iacMotor; - engine->outputChannels.idleTargetPosition = iacMotor.getTargetPosition(); + engine->outputChannels.idleStepperTargetPosition = iacMotor.getTargetPosition(); #endif /* EFI_TUNER_STUDIO */ currentIdlePosition = iacPosition; diff --git a/firmware/controllers/actuators/idle_thread_io.cpp b/firmware/controllers/actuators/idle_thread_io.cpp index a5c29cbef9..6145526fb2 100644 --- a/firmware/controllers/actuators/idle_thread_io.cpp +++ b/firmware/controllers/actuators/idle_thread_io.cpp @@ -28,66 +28,14 @@ #include "dc_motors.h" #include "idle_hardware.h" -static void showIdleInfo() { - const char * idleModeStr = getIdle_mode_e(engineConfiguration->idleMode); - efiPrintf("useStepperIdle=%s useHbridges=%s useRawOutput=%s", - boolToString(engineConfiguration->useStepperIdle), - boolToString(engineConfiguration->useHbridgesToDriveIdleStepper), - boolToString(engineConfiguration->useRawOutputToDriveIdleStepper)); - efiPrintf("idleMode=%s position=%.2f", - idleModeStr, getIdlePosition()); - - if (engineConfiguration->useStepperIdle) { - if (engineConfiguration->useRawOutputToDriveIdleStepper) { - efiPrintf(" A+=%s", hwPortname(engineConfiguration->stepper_raw_output[0])); - efiPrintf(" A-=%s", hwPortname(engineConfiguration->stepper_raw_output[1])); - efiPrintf(" B+=%s", hwPortname(engineConfiguration->stepper_raw_output[2])); - efiPrintf(" B-=%s", hwPortname(engineConfiguration->stepper_raw_output[3])); - } else if (engineConfiguration->useHbridgesToDriveIdleStepper) { - efiPrintf("Coil A:"); - efiPrintf(" pin1=%s", hwPortname(engineConfiguration->stepperDcIo[0].directionPin1)); - efiPrintf(" pin2=%s", hwPortname(engineConfiguration->stepperDcIo[0].directionPin2)); - showDcMotorInfo(2); - efiPrintf("Coil B:"); - efiPrintf(" pin1=%s", hwPortname(engineConfiguration->stepperDcIo[1].directionPin1)); - efiPrintf(" pin2=%s", hwPortname(engineConfiguration->stepperDcIo[1].directionPin2)); - showDcMotorInfo(3); - } else { - efiPrintf("directionPin=%s reactionTime=%.2f", hwPortname(engineConfiguration->idle.stepperDirectionPin), - engineConfiguration->idleStepperReactionTime); - efiPrintf("stepPin=%s steps=%d", hwPortname(engineConfiguration->idle.stepperStepPin), - engineConfiguration->idleStepperTotalSteps); - efiPrintf("enablePin=%s/%d", hwPortname(engineConfiguration->stepperEnablePin), - engineConfiguration->stepperEnablePinMode); - } - } else { - if (!engineConfiguration->isDoubleSolenoidIdle) { - efiPrintf("idle valve freq=%d on %s", engineConfiguration->idle.solenoidFrequency, - hwPortname(engineConfiguration->idle.solenoidPin)); - } else { - efiPrintf("idle valve freq=%d on %s", engineConfiguration->idle.solenoidFrequency, - hwPortname(engineConfiguration->idle.solenoidPin)); - efiPrintf(" and %s", hwPortname(engineConfiguration->secondSolenoidPin)); - } - } - -#if EFI_IDLE_CONTROL - if (engineConfiguration->idleMode == IM_AUTO) { - engine->module().unmock().getIdlePid()->showPidStatus("idle"); - } -#endif // EFI_IDLE_CONTROL -} - void setIdleMode(idle_mode_e value) { engineConfiguration->idleMode = value ? IM_AUTO : IM_MANUAL; - showIdleInfo(); } void setManualIdleValvePosition(int positionPercent) { if (positionPercent < 1 || positionPercent > 99) return; efiPrintf("setting idle valve position %d", positionPercent); - showIdleInfo(); // todo: this is not great that we have to write into configuration here engineConfiguration->manIdlePosition = positionPercent; } @@ -143,7 +91,6 @@ static void applyPidSettings() { void setTargetIdleRpm(int value) { setTargetRpmCurve(value); efiPrintf("target idle RPM %d", value); - showIdleInfo(); } /** @@ -152,7 +99,6 @@ void setTargetIdleRpm(int value) { void startIdleBench(void) { engine->timeToStopIdleTest = getTimeNowUs() + MS2US(3000); // 3 seconds efiPrintf("idle valve bench test"); - showIdleInfo(); } #endif /* EFI_UNIT_TEST */ @@ -216,8 +162,6 @@ void startIdleThread() { #if ! EFI_UNIT_TEST - addConsoleAction("idleinfo", showIdleInfo); - addConsoleActionII("blipidle", blipIdle); // split this whole file into manual controller and auto controller? move these commands into the file diff --git a/firmware/controllers/actuators/vvt.cpp b/firmware/controllers/actuators/vvt.cpp index a0ec4f4332..4059645240 100644 --- a/firmware/controllers/actuators/vvt.cpp +++ b/firmware/controllers/actuators/vvt.cpp @@ -18,7 +18,7 @@ static vvt_map_t vvtTable1; static vvt_map_t vvtTable2; VvtController::VvtController(int index, int bankIndex, int camIndex) - : index(index) + : m_index(index) , m_bank(bankIndex) , m_cam(camIndex) { @@ -26,7 +26,7 @@ VvtController::VvtController(int index, int bankIndex, int camIndex) void VvtController::init(const ValueProvider3D* targetMap, IPwm* pwm) { // Use the same settings for the Nth cam in every bank (ie, all exhaust cams use the same PID) - m_pid.initPidClass(&engineConfiguration->auxPid[index]); + m_pid.initPidClass(&engineConfiguration->auxPid[m_cam]); m_targetMap = targetMap; m_pwm = pwm; @@ -38,11 +38,13 @@ void VvtController::onFastCallback() { return; } - if (engine->auxParametersVersion.isOld(engine->getGlobalConfigurationVersion())) { + update(); +} + +void VvtController::onConfigurationChange(engine_configuration_s const * previousConfig) { + if (!m_pid.isSame(&previousConfig->auxPid[m_cam])) { m_pid.reset(); } - - update(); } expected VvtController::observePlant() const { @@ -58,8 +60,12 @@ expected VvtController::getSetpoint() { float load = getFuelingLoad(); float target = m_targetMap->getValue(rpm, load); + if (!m_targetOffsetTimer.hasElapsedSec(2)) { + target += m_targetOffset; + } + #if EFI_TUNER_STUDIO - engine->outputChannels.vvtTargets[index] = target; + engine->outputChannels.vvtTargets[m_index] = target; #endif vvtTarget = target; @@ -67,6 +73,12 @@ expected VvtController::getSetpoint() { return target; } +void VvtController::setTargetOffset(float targetOffset) { + m_targetOffset = targetOffset; + m_targetOffsetTimer.reset(); +} + + expected VvtController::getOpenLoop(angle_t target) { // TODO: could we do VVT open loop? UNUSED(target); @@ -93,15 +105,16 @@ expected VvtController::getClosedLoop(angle_t target, angle_t observa float retVal = m_pid.getOutput(target, observation); #if EFI_TUNER_STUDIO - m_pid.postState(engine->outputChannels.vvtStatus[index]); + m_pid.postState(engine->outputChannels.vvtStatus[m_index]); #endif /* EFI_TUNER_STUDIO */ return retVal; } void VvtController::setOutput(expected outputValue) { - float rpm = Sensor::getOrZero(SensorType::Rpm); #if EFI_SHAFT_POSITION_INPUT + float rpm = Sensor::getOrZero(SensorType::Rpm); + bool enabled = rpm > engineConfiguration->vvtControlMinRpm && engine->rpmCalculator.getSecondsSinceEngineStart(getTimeNowNt()) > engineConfiguration->vvtActivationDelayMs / MS_PER_SECOND ; @@ -128,7 +141,7 @@ void VvtController::setOutput(expected outputValue) { #endif // EFI_SHAFT_POSITION_INPUT } -#if EFI_AUX_PID +#if EFI_VVT_PID static const char *vvtOutputNames[CAM_INPUTS_COUNT] = { "Vvt Output#1", diff --git a/firmware/controllers/actuators/vvt.h b/firmware/controllers/actuators/vvt.h index 3ec6143c53..861fc538f0 100644 --- a/firmware/controllers/actuators/vvt.h +++ b/firmware/controllers/actuators/vvt.h @@ -7,7 +7,6 @@ #pragma once -#include "periodic_task.h" #include "closed_loop_controller.h" #include "pwm_generator_logic.h" #include "efi_pid.h" @@ -24,9 +23,11 @@ class VvtController : public EngineModule, public ClosedLoopController observePlant() const override; @@ -37,16 +38,19 @@ class VvtController : public EngineModule, public ClosedLoopController outputValue) override; private: - const int index = 0; + const int m_index; // Bank index, 0 or 1 - const uint8_t m_bank = 0; + const uint8_t m_bank; // Cam index, 0 = intake, 1 = exhaust - const uint8_t m_cam = 0; + const uint8_t m_cam; Pid m_pid; const ValueProvider3D* m_targetMap = nullptr; IPwm* m_pwm = nullptr; + + Timer m_targetOffsetTimer; + float m_targetOffset; }; // Unique types for each VVT so they can be engine modules diff --git a/firmware/controllers/algo/advance_map.cpp b/firmware/controllers/algo/advance_map.cpp index e84df18f78..f95bdfc0b9 100644 --- a/firmware/controllers/algo/advance_map.cpp +++ b/firmware/controllers/algo/advance_map.cpp @@ -187,7 +187,7 @@ angle_t getAdvance(int rpm, float engineLoad) { } efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !cisnan(angle), "_AngleN5", 0); - fixAngle(angle, "getAdvance", ObdCode::CUSTOM_ERR_ADCANCE_CALC_ANGLE); + wrapAngle(angle, "getAdvance", ObdCode::CUSTOM_ERR_ADCANCE_CALC_ANGLE); return angle; #else return 0; diff --git a/firmware/controllers/algo/airmass/alphan_airmass.cpp b/firmware/controllers/algo/airmass/alphan_airmass.cpp index 9d0a9363f4..58fc4c7973 100644 --- a/firmware/controllers/algo/airmass/alphan_airmass.cpp +++ b/firmware/controllers/algo/airmass/alphan_airmass.cpp @@ -13,11 +13,17 @@ AirmassResult AlphaNAirmass::getAirmass(int rpm, bool postState) { // In this case, VE directly describes the cylinder filling relative to the ideal float ve = getVe(rpm, tps.Value, postState); + // optionally use real IAT instead of fixed air temperature + constexpr float standardIat = 273.0f + 20.0f; // std atmosphere temperature + float iat = engineConfiguration->alphaNUseIat + ? Sensor::get(SensorType::Iat).value_or(standardIat) + : standardIat; + // TODO: should this be barometric pressure and/or temperature compensated? mass_t airmass = getAirmassImpl( ve, 101.325f, // std atmosphere pressure - 273.0f + 20.0f // std atmosphere pressure + iat ); return { diff --git a/firmware/controllers/algo/algo.mk b/firmware/controllers/algo/algo.mk index b31b69c138..0503d5e4e6 100644 --- a/firmware/controllers/algo/algo.mk +++ b/firmware/controllers/algo/algo.mk @@ -24,7 +24,7 @@ CONTROLLERS_ALGO_SRC_CPP = $(PROJECT_DIR)/controllers/algo/advance_map.cpp \ $(PROJECT_DIR)/controllers/algo/fuel/fuel_computer.cpp \ $(PROJECT_DIR)/controllers/algo/fuel/injector_model.cpp \ $(PROJECT_DIR)/controllers/algo/fuel/dfco.cpp \ - $(PROJECT_DIR)/controllers/algo/odometer.cpp \ + $(PROJECT_DIR)/controllers/algo/trip_odometer.cpp \ $(PROJECT_DIR)/controllers/algo/defaults/default_base_engine.cpp \ $(PROJECT_DIR)/controllers/algo/defaults/default_cranking.cpp \ $(PROJECT_DIR)/controllers/algo/defaults/default_fuel.cpp \ diff --git a/firmware/controllers/algo/auto_generated_commonenum.cpp b/firmware/controllers/algo/auto_generated_commonenum.cpp index 00c0b30d63..0e29925e20 100644 --- a/firmware/controllers/algo/auto_generated_commonenum.cpp +++ b/firmware/controllers/algo/auto_generated_commonenum.cpp @@ -33,36 +33,6 @@ case INJ_PolynomialAdder: } return NULL; } -const char *getPidAutoTune_AutoTunerState(PidAutoTune_AutoTunerState value){ -switch(value) { -case AUTOTUNER_OFF: - return "AUTOTUNER_OFF"; -case CONVERGED: - return "CONVERGED"; -case FAILED: - return "FAILED"; -case RELAY_STEP_DOWN: - return "RELAY_STEP_DOWN"; -case RELAY_STEP_UP: - return "RELAY_STEP_UP"; -case STEADY_STATE_AFTER_STEP_UP: - return "STEADY_STATE_AFTER_STEP_UP"; -case STEADY_STATE_AT_BASELINE: - return "STEADY_STATE_AT_BASELINE"; - } - return NULL; -} -const char *getPidAutoTune_Peak(PidAutoTune_Peak value){ -switch(value) { -case MAXIMUM: - return "MAXIMUM"; -case MINIMUM: - return "MINIMUM"; -case NOT_A_PEAK: - return "NOT_A_PEAK"; - } - return NULL; -} const char *getSelectedGear(SelectedGear value){ switch(value) { case SelectedGear::Drive: @@ -549,19 +519,6 @@ case AFR_Tps: } return NULL; } -const char *getMaf_sensor_type_e(maf_sensor_type_e value){ -switch(value) { -case Bosch0280218004: - return "Bosch0280218004"; -case Bosch0280218037: - return "Bosch0280218037"; -case CUSTOM: - return "CUSTOM"; -case DensoTODO: - return "DensoTODO"; - } - return NULL; -} const char *getOperation_mode_e(operation_mode_e value){ switch(value) { case FOUR_STROKE_CAM_SENSOR: @@ -722,8 +679,6 @@ case VE_TPS: } const char *getVvt_mode_e(vvt_mode_e value){ switch(value) { -case VVT_2JZ: - return "VVT_2JZ"; case VVT_BARRA_3_PLUS_1: return "VVT_BARRA_3_PLUS_1"; case VVT_BOSCH_QUICK_START: @@ -756,6 +711,8 @@ case VVT_NISSAN_VQ: return "VVT_NISSAN_VQ"; case VVT_SINGLE_TOOTH: return "VVT_SINGLE_TOOTH"; +case VVT_TOYOTA_3_TOOTH: + return "VVT_TOYOTA_3_TOOTH"; case VVT_TOYOTA_4_1: return "VVT_TOYOTA_4_1"; } diff --git a/firmware/controllers/algo/auto_generated_commonenum.h b/firmware/controllers/algo/auto_generated_commonenum.h index b9e57afda6..eec35088fe 100644 --- a/firmware/controllers/algo/auto_generated_commonenum.h +++ b/firmware/controllers/algo/auto_generated_commonenum.h @@ -7,8 +7,6 @@ const char *getGearControllerMode(GearControllerMode value); const char *getInjectionTimingMode(InjectionTimingMode value); #endif //__cplusplus const char *getInjectorNonlinearMode(InjectorNonlinearMode value); -const char *getPidAutoTune_AutoTunerState(PidAutoTune_AutoTunerState value); -const char *getPidAutoTune_Peak(PidAutoTune_Peak value); #if __cplusplus const char *getSelectedGear(SelectedGear value); #endif //__cplusplus @@ -45,7 +43,6 @@ const char *getInjector_compensation_mode_e(injector_compensation_mode_e value); const char *getInjector_pressure_type_e(injector_pressure_type_e value); const char *getLaunchActivationMode_e(launchActivationMode_e value); const char *getLoad_override_e(load_override_e value); -const char *getMaf_sensor_type_e(maf_sensor_type_e value); const char *getOperation_mode_e(operation_mode_e value); const char *getPin_input_mode_e(pin_input_mode_e value); const char *getPin_output_mode_e(pin_output_mode_e value); diff --git a/firmware/controllers/algo/auto_generated_enginetypes.cpp b/firmware/controllers/algo/auto_generated_enginetypes.cpp index 4e8490bdde..eadcdc8fc2 100644 --- a/firmware/controllers/algo/auto_generated_enginetypes.cpp +++ b/firmware/controllers/algo/auto_generated_enginetypes.cpp @@ -36,6 +36,14 @@ case BENCH_STARTER_DISABLE_RELAY: return "BENCH_STARTER_DISABLE_RELAY"; case BENCH_STARTER_ENABLE_RELAY: return "BENCH_STARTER_ENABLE_RELAY"; +case BENCH_VVT_1_TARGET_BUMP: + return "BENCH_VVT_1_TARGET_BUMP"; +case BENCH_VVT_2_TARGET_BUMP: + return "BENCH_VVT_2_TARGET_BUMP"; +case BENCH_VVT_3_TARGET_BUMP: + return "BENCH_VVT_3_TARGET_BUMP"; +case BENCH_VVT_4_TARGET_BUMP: + return "BENCH_VVT_4_TARGET_BUMP"; } return NULL; } @@ -47,12 +55,22 @@ case DBG_10: return "DBG_10"; case DBG_11: return "DBG_11"; +case DBG_12: + return "DBG_12"; +case DBG_13: + return "DBG_13"; +case DBG_15: + return "DBG_15"; case DBG_16: return "DBG_16"; +case DBG_19: + return "DBG_19"; case DBG_2: return "DBG_2"; case DBG_20: return "DBG_20"; +case DBG_21: + return "DBG_21"; case DBG_24: return "DBG_24"; case DBG_25: @@ -61,6 +79,8 @@ case DBG_26: return "DBG_26"; case DBG_29: return "DBG_29"; +case DBG_32: + return "DBG_32"; case DBG_34: return "DBG_34"; case DBG_35: @@ -75,18 +95,14 @@ case DBG_43: return "DBG_43"; case DBG_46: return "DBG_46"; +case DBG_6: + return "DBG_6"; case DBG_7: return "DBG_7"; case DBG_8: return "DBG_8"; case DBG_9: return "DBG_9"; -case DBG_ANALOG_INPUTS: - return "DBG_ANALOG_INPUTS"; -case DBG_ANALOG_INPUTS2: - return "DBG_ANALOG_INPUTS2"; -case DBG_BENCH_TEST: - return "DBG_BENCH_TEST"; case DBG_COMPOSITE_LOG: return "DBG_COMPOSITE_LOG"; case DBG_DWELL_METRIC: @@ -105,8 +121,6 @@ case DBG_INSTANT_RPM: return "DBG_INSTANT_RPM"; case DBG_ION: return "DBG_ION"; -case DBG_KNOCK: - return "DBG_KNOCK"; case DBG_LOGIC_ANALYZER: return "DBG_LOGIC_ANALYZER"; case DBG_LUA: @@ -115,10 +129,6 @@ case DBG_MAP: return "DBG_MAP"; case DBG_METRICS: return "DBG_METRICS"; -case DBG_SD_CARD: - return "DBG_SD_CARD"; -case DBG_SOFT_SPARK_CUT: - return "DBG_SOFT_SPARK_CUT"; case DBG_SR5_PROTOCOL: return "DBG_SR5_PROTOCOL"; case DBG_STEPPER_IDLE_CONTROL: @@ -131,8 +141,6 @@ case DBG_TPS_ACCEL: return "DBG_TPS_ACCEL"; case DBG_TRIGGER_COUNTERS: return "DBG_TRIGGER_COUNTERS"; -case DBG_UNUSED12: - return "DBG_UNUSED12"; case DBG_UNUSED41: return "DBG_UNUSED41"; case DBG_UNUSED_42: @@ -166,10 +174,6 @@ case engine_type_e::DODGE_RAM: return "DODGE_RAM"; case engine_type_e::ETB_BENCH_ENGINE: return "ETB_BENCH_ENGINE"; -case engine_type_e::ET_UNUSED_11: - return "ET_UNUSED_11"; -case engine_type_e::ET_UNUSED_12: - return "ET_UNUSED_12"; case engine_type_e::ET_UNUSED_13: return "ET_UNUSED_13"; case engine_type_e::ET_UNUSED_15: @@ -290,6 +294,14 @@ case engine_type_e::MRE_VW_B6: return "MRE_VW_B6"; case engine_type_e::NISSAN_PRIMERA: return "NISSAN_PRIMERA"; +case engine_type_e::POLYGONUS_MIATA_MSM: + return "POLYGONUS_MIATA_MSM"; +case engine_type_e::POLYGONUS_MIATA_NA6: + return "POLYGONUS_MIATA_NA6"; +case engine_type_e::POLYGONUS_MIATA_NB1: + return "POLYGONUS_MIATA_NB1"; +case engine_type_e::POLYGONUS_MIATA_NB2: + return "POLYGONUS_MIATA_NB2"; case engine_type_e::PROTEUS_ANALOG_PWM_TEST: return "PROTEUS_ANALOG_PWM_TEST"; case engine_type_e::PROTEUS_BMW_M73: @@ -306,10 +318,6 @@ case engine_type_e::PROTEUS_HONDA_OBD2A: return "PROTEUS_HONDA_OBD2A"; case engine_type_e::PROTEUS_LUA_DEMO: return "PROTEUS_LUA_DEMO"; -case engine_type_e::PROTEUS_MIATA_NA6: - return "PROTEUS_MIATA_NA6"; -case engine_type_e::PROTEUS_MIATA_NB2: - return "PROTEUS_MIATA_NB2"; case engine_type_e::PROTEUS_QC_TEST_BOARD: return "PROTEUS_QC_TEST_BOARD"; case engine_type_e::PROTEUS_VW_B6: @@ -493,8 +501,6 @@ case trigger_type_e::TT_VVT_BARRA_3_PLUS_1: return "TT_VVT_BARRA_3_PLUS_1"; case trigger_type_e::TT_VVT_BOSCH_QUICK_START: return "TT_VVT_BOSCH_QUICK_START"; -case trigger_type_e::TT_VVT_JZ: - return "TT_VVT_JZ"; case trigger_type_e::TT_VVT_MAZDA_SKYACTIV: return "TT_VVT_MAZDA_SKYACTIV"; case trigger_type_e::TT_VVT_MIATA_NB: @@ -505,6 +511,8 @@ case trigger_type_e::TT_VVT_MITSUBISHI_6G75: return "TT_VVT_MITSUBISHI_6G75"; case trigger_type_e::TT_VVT_NISSAN_VQ35: return "TT_VVT_NISSAN_VQ35"; +case trigger_type_e::TT_VVT_TOYOTA_3_TOOTH: + return "TT_VVT_TOYOTA_3_TOOTH"; case trigger_type_e::TT_VVT_TOYOTA_4_1: return "TT_VVT_TOYOTA_4_1"; } diff --git a/firmware/controllers/algo/defaults/default_base_engine.cpp b/firmware/controllers/algo/defaults/default_base_engine.cpp index 5011d814a9..59af4070c4 100644 --- a/firmware/controllers/algo/defaults/default_base_engine.cpp +++ b/firmware/controllers/algo/defaults/default_base_engine.cpp @@ -41,7 +41,7 @@ void setDefaultBaseEngine() { engineConfiguration->rpmHardLimit = 7000; engineConfiguration->rpmHardLimitHyst = 50; engineConfiguration->cutFuelOnHardLimit = true; - engineConfiguration->cutSparkOnHardLimit = true; + engineConfiguration->cutSparkOnHardLimit = false; engineConfiguration->ALSMinRPM = 400; engineConfiguration->ALSMaxRPM = 3200; diff --git a/firmware/controllers/algo/defaults/default_fuel.cpp b/firmware/controllers/algo/defaults/default_fuel.cpp index f2b147d397..ec07c2ee67 100644 --- a/firmware/controllers/algo/defaults/default_fuel.cpp +++ b/firmware/controllers/algo/defaults/default_fuel.cpp @@ -136,15 +136,14 @@ static void setDefaultStftSettings() { } static const uint8_t tpsTpsTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE] = { -/* Generated by TS2C on Tue Apr 18 21:29:16 EDT 2017*/ -{/* 0 0 *//* 0 0.0*/0, /* 1 10.0*/0, /* 2 20.0*/0, /* 3 35.0*/0, /* 4 50.0*/0, /* 5 65.0*/0, /* 6 80.0*/0, /* 7 100.0*/0, }, -{/* 1 10 *//* 0 0.0*/10, /* 1 10.0*/0, /* 2 20.0*/0, /* 3 35.0*/0, /* 4 50.0*/0, /* 5 65.0*/0, /* 6 80.0*/0, /* 7 100.0*/0, }, -{/* 2 20 *//* 0 0.0*/17, /* 1 10.0*/10, /* 2 20.0*/0, /* 3 35.0*/0, /* 4 50.0*/0, /* 5 65.0*/0, /* 6 80.0*/0, /* 7 100.0*/0, }, -{/* 3 35 *//* 0 0.0*/23, /* 1 10.0*/17, /* 2 20.0*/10, /* 3 35.0*/0, /* 4 50.0*/0, /* 5 65.0*/0, /* 6 80.0*/0, /* 7 100.0*/0, }, -{/* 4 50 *//* 0 0.0*/28, /* 1 10.0*/23, /* 2 20.0*/17, /* 3 35.0*/10, /* 4 50.0*/0, /* 5 65.0*/0, /* 6 80.0*/0, /* 7 100.0*/0, }, -{/* 5 65 *//* 0 0.0*/32, /* 1 10.0*/28, /* 2 20.0*/23, /* 3 35.0*/17, /* 4 50.0*/10, /* 5 65.0*/0, /* 6 80.0*/0, /* 7 100.0*/0, }, -{/* 6 80 *//* 0 0.0*/35, /* 1 10.0*/32, /* 2 20.0*/28, /* 3 35.0*/23, /* 4 50.0*/17, /* 5 65.0*/10, /* 6 80.0*/0, /* 7 100.0*/0, }, -{/* 7 100 *//* 0 0.0*/37, /* 1 10.0*/35, /* 2 20.0*/32, /* 3 35.0*/28, /* 4 50.0*/23, /* 5 65.0*/17, /* 6 80.0*/10, /* 7 100.0*/0, }, + { 0, 0, 0, 0, 0, 0, 0, 0 }, + { 2, 0, 0, 0, 0, 0, 0, 0 }, + { 3, 2, 0, 0, 0, 0, 0, 0 }, + { 4, 3, 2, 0, 0, 0, 0, 0 }, + { 5, 4, 3, 2, 0, 0, 0, 0 }, + { 5, 5, 4, 3, 2, 0, 0, 0 }, + { 6, 5, 5, 4, 3, 2, 0, 0 }, + { 7, 6, 5, 5, 4, 3, 2, 0 }, }; static void setMazdaMiataNbTpsTps() { @@ -305,4 +304,10 @@ void setDefaultFuel() { setDefaultLambdaProtection(); setDefaultPriming(); + + // Cut at 110% instantly + engineConfiguration->maxInjectorDutyInstant = 110; + // Cut at 96% after 0.5 second + engineConfiguration->maxInjectorDutySustained = 96; + engineConfiguration->maxInjectorDutySustainedTimeout = 0.5f; } diff --git a/firmware/controllers/algo/dynoview.cpp b/firmware/controllers/algo/dynoview.cpp index a77c6821b2..b4b4f9a82b 100644 --- a/firmware/controllers/algo/dynoview.cpp +++ b/firmware/controllers/algo/dynoview.cpp @@ -44,15 +44,7 @@ void DynoView::update(vssSrc src) { //updating here would display acceleration = 0 at constant speed updateAcceleration(deltaTime, deltaSpeed); -#if EFI_TUNER_STUDIO - if (engineConfiguration->debugMode == DBG_LOGIC_ANALYZER) { - engine->outputChannels.debugIntField1 = deltaTime; - engine->outputChannels.debugFloatField1 = vss; - engine->outputChannels.debugFloatField2 = speed; - engine->outputChannels.debugFloatField3 = deltaSpeed; - engine->outputChannels.debugFloatField4 = acceleration; - } -#endif /* EFI_TUNER_STUDIO */ + updateHP(); } else { diff --git a/firmware/controllers/algo/engine.cpp b/firmware/controllers/algo/engine.cpp index 7d83683426..80531078fb 100644 --- a/firmware/controllers/algo/engine.cpp +++ b/firmware/controllers/algo/engine.cpp @@ -24,6 +24,7 @@ #include "idle_hardware.h" #include "gppwm.h" #include "tachometer.h" +#include "speedometer.h" #include "dynoview.h" #include "boost_control.h" #include "fan_control.h" @@ -67,8 +68,8 @@ trigger_type_e getVvtTriggerType(vvt_mode_e vvtMode) { switch (vvtMode) { case VVT_INACTIVE: return trigger_type_e::TT_ONE; - case VVT_2JZ: - return trigger_type_e::TT_VVT_JZ; + case VVT_TOYOTA_3_TOOTH: + return trigger_type_e::TT_VVT_TOYOTA_3_TOOTH; case VVT_MIATA_NB: return trigger_type_e::TT_VVT_MIATA_NB; case VVT_BOSCH_QUICK_START: @@ -146,10 +147,6 @@ void Engine::periodicSlowCallback() { engine->engineModules.apply_all([](auto & m) { m.onSlowCallback(); }); -#if EFI_BOOST_CONTROL - engine->boostController.update(); -#endif // EFI_BOOST_CONTROL - #if (BOARD_TLE8888_COUNT > 0) tle8888startup(); #endif @@ -240,7 +237,7 @@ int Engine::getGlobalConfigurationVersion(void) const { void Engine::reset() { /** - * it's important for fixAngle() that engineCycle field never has zero + * it's important for wrapAngle() that engineCycle field never has zero */ engineState.engineCycle = getEngineCycle(FOUR_STROKE_CRANK_SENSOR); resetLua(); @@ -254,7 +251,7 @@ void Engine::resetLua() { engineState.lua.luaDisableEtb = false; engineState.lua.luaIgnCut = false; #if EFI_BOOST_CONTROL - boostController.resetLua(); + module().unmock().resetLua(); #endif // EFI_BOOST_CONTROL ignitionState.luaTimingAdd = 0; ignitionState.luaTimingMult = 1; @@ -272,9 +269,6 @@ void Engine::preCalculate() { // we take 2 bytes of crc32, no idea if it's right to call it crc16 or not // we have a hack here - we rely on the fact that engineMake is the first of three relevant fields engine->outputChannels.engineMakeCodeNameCrc16 = crc32(engineConfiguration->engineMake, 3 * VEHICLE_INFO_SIZE); - - // we need and can empty warning message for CRC purposes - memset(config->warning_message, 0, sizeof(error_message_t)); engine->outputChannels.tuneCrc16 = crc32(config, sizeof(persistent_config_s)); #endif /* EFI_TUNER_STUDIO */ } @@ -387,7 +381,7 @@ todo: move to shutdown_controller.cpp */ // here we are in the shutdown (the ignition is off) or initial mode (after the firmware fresh start) - const efitick_t engineStopWaitTimeoutUs = 500000LL; // 0.5 sec + // const efitick_t engineStopWaitTimeoutUs = 500000LL; // 0.5 sec // in shutdown mode, we need a small cooldown time between the ignition off and on /* this needs work or tests todo: move to shutdown_controller.cpp @@ -480,7 +474,8 @@ void Engine::periodicFastCallback() { engineState.periodicFastCallback(); - tachSignalCallback(); + tachUpdate(); + speedoUpdate(); engine->engineModules.apply_all([](auto & m) { m.onFastCallback(); }); } diff --git a/firmware/controllers/algo/engine.h b/firmware/controllers/algo/engine.h index 5cbad72f96..04563c4f6e 100644 --- a/firmware/controllers/algo/engine.h +++ b/firmware/controllers/algo/engine.h @@ -51,6 +51,7 @@ #include "throttle_model.h" #include "lambda_monitor.h" #include "vvt.h" +#include "trip_odometer.h" #ifndef EFI_UNIT_TEST #error EFI_UNIT_TEST must be defined! @@ -150,16 +151,20 @@ class Engine final : public TriggerStateListener { Mockable, #if EFI_VEHICLE_SPEED GearDetector, + TripOdometer, #endif // EFI_VEHICLE_SPEED KnockController, SensorChecker, LimpManager, -#if EFI_AUX_PID +#if EFI_VVT_PID VvtController1, VvtController2, VvtController3, VvtController4, -#endif // EFI_AUX_PID +#endif // EFI_VVT_PID +#if EFI_BOOST_CONTROL + BoostController, +#endif // EFI_BOOST_CONTROL EngineModule // dummy placeholder so the previous entries can all have commas > engineModules; @@ -188,10 +193,6 @@ class Engine final : public TriggerStateListener { SoftSparkLimiter ALSsoftSparkLimiter; #endif /* EFI_ANTILAG_SYSTEM */ -#if EFI_BOOST_CONTROL - BoostController boostController; -#endif // EFI_BOOST_CONTROL - LambdaMonitor lambdaMonitor; IgnitionState ignitionState; @@ -208,7 +209,6 @@ class Engine final : public TriggerStateListener { void setConfig(); LocalVersionHolder versionForConfigurationListeners; - LocalVersionHolder auxParametersVersion; AuxActor auxValves[AUX_DIGITAL_VALVE_COUNT][2]; diff --git a/firmware/controllers/algo/engine2.cpp b/firmware/controllers/algo/engine2.cpp index 0b5c19d82c..5c45f0e94a 100644 --- a/firmware/controllers/algo/engine2.cpp +++ b/firmware/controllers/algo/engine2.cpp @@ -77,27 +77,6 @@ bool WarningCodeState::isWarningNow(ObdCode code) const { return !warn->LastTriggered.hasElapsedSec(maxI(3, engineConfiguration->warningPeriod)); } -void FuelConsumptionState::consumeFuel(float grams, efitick_t nowNt) { - m_consumedGrams += grams; - - float elapsedSecond = m_timer.getElapsedSecondsAndReset(nowNt); - - // If it's been a long time since last injection, ignore this pulse - if (elapsedSecond > 0.2f) { - m_rate = 0; - } else { - m_rate = grams / elapsedSecond; - } -} - -float FuelConsumptionState::getConsumedGrams() const { - return m_consumedGrams; -} - -float FuelConsumptionState::getConsumptionGramPerSecond() const { - return m_rate; -} - EngineState::EngineState() { timeSinceLastTChargeK = getTimeNowNt(); } @@ -148,17 +127,16 @@ void EngineState::periodicFastCallback() { auto tps = Sensor::get(SensorType::Tps1); updateTChargeK(rpm, tps.value_or(0)); - float injectionMass = getInjectionMass(rpm) * engine->engineState.lua.fuelMult + engine->engineState.lua.fuelAdd; + float untrimmedInjectionMass = getInjectionMass(rpm) * engine->engineState.lua.fuelMult + engine->engineState.lua.fuelAdd; auto clResult = fuelClosedLoopCorrection(); // Store the pre-wall wetting injection duration for scheduling purposes only, not the actual injection duration - engine->engineState.injectionDuration = engine->module()->getInjectionDuration(injectionMass); + engine->engineState.injectionDuration = engine->module()->getInjectionDuration(untrimmedInjectionMass); float fuelLoad = getFuelingLoad(); injectionOffset = getInjectionOffset(rpm, fuelLoad); engine->lambdaMonitor.update(rpm, fuelLoad); - float ignitionLoad = getIgnitionLoad(); float advance = getAdvance(rpm, ignitionLoad) * engine->ignitionState.luaTimingMult + engine->ignitionState.luaTimingAdd; // that's weird logic. also seems broken for two stroke? @@ -177,11 +155,13 @@ void EngineState::periodicFastCallback() { auto cylinderTrim = getCylinderFuelTrim(i, rpm, fuelLoad); // Apply both per-bank and per-cylinder trims - engine->engineState.injectionMass[i] = injectionMass * bankTrim * cylinderTrim; + engine->engineState.injectionMass[i] = untrimmedInjectionMass * bankTrim * cylinderTrim; timingAdvance[i] = advance + getCylinderIgnitionTrim(i, rpm, ignitionLoad); } + shouldUpdateInjectionTiming = getInjectorDutyCycle(rpm) < 90; + // TODO: calculate me from a table! trailingSparkAngle = engineConfiguration->trailingSparkAngle; @@ -227,7 +207,7 @@ bool PrimaryTriggerConfiguration::isVerboseTriggerSynchDetails() const { trigger_config_s VvtTriggerConfiguration::getType() const { // Convert from VVT type to trigger_config_s - return { getVvtTriggerType(engineConfiguration->vvtMode[index]), 0, 0 }; + return { getVvtTriggerType(engineConfiguration->vvtMode[m_index]), 0, 0 }; } bool VvtTriggerConfiguration::isVerboseTriggerSynchDetails() const { diff --git a/firmware/controllers/algo/engine_configuration.cpp b/firmware/controllers/algo/engine_configuration.cpp index 0b9f228700..49ec4d0e32 100644 --- a/firmware/controllers/algo/engine_configuration.cpp +++ b/firmware/controllers/algo/engine_configuration.cpp @@ -168,17 +168,11 @@ void incrementGlobalConfigurationVersion() { boardOnConfigurationChange(&activeConfiguration); -/** - * All these callbacks could be implemented as listeners, but these days I am saving RAM - */ engine->preCalculate(); #if EFI_ALTERNATOR_CONTROL onConfigurationChangeAlternatorCallback(&activeConfiguration); #endif /* EFI_ALTERNATOR_CONTROL */ -#if EFI_BOOST_CONTROL - onConfigurationChangeBoostCallback(&activeConfiguration); -#endif #if EFI_ELECTRONIC_THROTTLE_BODY onConfigurationChangeElectronicThrottleCallback(&activeConfiguration); #endif /* EFI_ELECTRONIC_THROTTLE_BODY */ @@ -239,13 +233,13 @@ static void initTemperatureCurve(float *bins, float *values, int size, float def } } -void prepareVoidConfiguration(engine_configuration_s *engineConfiguration) { - efiAssertVoid(ObdCode::OBD_PCM_Processor_Fault, engineConfiguration != NULL, "ec NULL"); - efi::clear(engineConfiguration); +void prepareVoidConfiguration(engine_configuration_s *cfg) { + efiAssertVoid(ObdCode::OBD_PCM_Processor_Fault, cfg != NULL, "ec NULL"); + efi::clear(cfg); - engineConfiguration->clutchDownPinMode = PI_PULLUP; - engineConfiguration->clutchUpPinMode = PI_PULLUP; - engineConfiguration->brakePedalPinMode = PI_PULLUP; + cfg->clutchDownPinMode = PI_PULLUP; + cfg->clutchUpPinMode = PI_PULLUP; + cfg->brakePedalPinMode = PI_PULLUP; } void setDefaultBasePins() { @@ -408,12 +402,12 @@ static void setDefaultEngineConfiguration() { engineConfiguration->canBaudRate = B500KBPS; engineConfiguration->can2BaudRate = B500KBPS; - engineConfiguration->mafSensorType = Bosch0280218037; - setBosch0280218037(config); + setBosch0280218037(); engineConfiguration->canSleepPeriodMs = 50; engineConfiguration->canReadEnabled = true; engineConfiguration->canWriteEnabled = true; + engineConfiguration->canVssScaling = 1.0f; // Don't enable, but set default address engineConfiguration->verboseCanBaseAddress = CAN_DEFAULT_BASE; @@ -736,11 +730,17 @@ void resetConfigurationExt(configuration_callback_t boardCallback, engine_type_e case engine_type_e::PROTEUS_E65_6H_MAN_IN_THE_MIDDLE: setEngineProteusGearboxManInTheMiddle(); break; - case engine_type_e::PROTEUS_MIATA_NA6: - setMiataNa6_Proteus(); + case engine_type_e::POLYGONUS_MIATA_NA6: + setMiataNa6_Polygonus(); break; - case engine_type_e::PROTEUS_MIATA_NB2: - setMiataNB2_Proteus(); + case engine_type_e::POLYGONUS_MIATA_NB1: + setMiataNB1_Polygonus(); + break; + case engine_type_e::POLYGONUS_MIATA_NB2: + setMiataNB2_Polygonus(); + break; + case engine_type_e::POLYGONUS_MIATA_MSM: + setMiataNB_MSM_Polygonus(); break; #ifdef HARDWARE_CI case engine_type_e::PROTEUS_ANALOG_PWM_TEST: @@ -926,9 +926,7 @@ void resetConfigurationExt(configuration_callback_t boardCallback, engine_type_e applyNonPersistentConfiguration(); } -void emptyCallbackWithConfiguration(engine_configuration_s * engineConfiguration) { - UNUSED(engineConfiguration); -} +void emptyCallbackWithConfiguration(engine_configuration_s*) { } void resetConfigurationExt(engine_type_e engineType) { resetConfigurationExt(&emptyCallbackWithConfiguration, engineType); diff --git a/firmware/controllers/algo/engine_parts.h b/firmware/controllers/algo/engine_parts.h index 54f8738a2f..41fe1ef965 100644 --- a/firmware/controllers/algo/engine_parts.h +++ b/firmware/controllers/algo/engine_parts.h @@ -24,20 +24,6 @@ struct SensorsState { Accelerometer accelerometer; }; -class FuelConsumptionState { -public: - void consumeFuel(float grams, efitick_t nowNt); - - float getConsumedGrams() const; - float getConsumptionGramPerSecond() const; - -private: - float m_consumedGrams = 0; - float m_rate = 0; - - Timer m_timer; -}; - class TransmissionState { public: gear_e gearSelectorPosition; diff --git a/firmware/controllers/algo/engine_state.h b/firmware/controllers/algo/engine_state.h index c97ce7480c..d472a267cb 100644 --- a/firmware/controllers/algo/engine_state.h +++ b/firmware/controllers/algo/engine_state.h @@ -32,8 +32,6 @@ class EngineState : public engine_state_s { // Per-injection fuel mass, including TPS accel enrich float injectionMass[MAX_CYLINDER_COUNT] = {0}; - FuelConsumptionState fuelConsumption; - Timer crankingTimer; WarningCodeState warnings; @@ -83,6 +81,7 @@ class EngineState : public engine_state_s { multispark_state multispark; + bool shouldUpdateInjectionTiming = true; }; EngineState * getEngineState(); diff --git a/firmware/controllers/algo/engine_types.h b/firmware/controllers/algo/engine_types.h index 1be2f49f1b..1105477a80 100644 --- a/firmware/controllers/algo/engine_types.h +++ b/firmware/controllers/algo/engine_types.h @@ -146,7 +146,6 @@ enum class engine_type_e : uint32_t { DODGE_RAM = 64, CITROEN_TU3JP = 65, - PROTEUS_MIATA_NB2 = 67, MRE_M111 = 68, HELLEN_NB2 = 69, @@ -196,12 +195,16 @@ enum class engine_type_e : uint32_t { HELLEN_154_HYUNDAI_COUPE_BK2 = 95, WASTEGATE_PROTEUS_TEST = 96, - PROTEUS_MIATA_NA6 = 4, + + // Polygonus PnP presets + POLYGONUS_MIATA_NA6 = 4, + POLYGONUS_MIATA_NB1 = 11, + POLYGONUS_MIATA_NB2 = 67, + POLYGONUS_MIATA_MSM = 12, + ET_UNUSED_97 = 97, ET_UNUSED_98 = 98, ET_UNUSED_17 = 17, - ET_UNUSED_11 = 11, - ET_UNUSED_12 = 12, ET_UNUSED_13 = 13, ET_UNUSED_15 = 15, ET_UNUSED_33 = 33, @@ -229,32 +232,26 @@ typedef enum __attribute__ ((__packed__)) { DBG_STEPPER_IDLE_CONTROL = 3, DBG_EL_ACCEL = 4, DBG_TRIGGER_COUNTERS = 5, - DBG_SOFT_SPARK_CUT = 6, + DBG_6 = 6, DBG_7 = 7, DBG_8 = 8, DBG_9 = 9, DBG_10 = 10, DBG_11 = 11, - DBG_UNUSED12 = 12, - DBG_SD_CARD = 13, + DBG_12 = 12, + DBG_13 = 13, DBG_SR5_PROTOCOL = 14, - DBG_KNOCK = 15, + DBG_15 = 15, DBG_16 = 16, /** * See also DBG_ELECTRONIC_THROTTLE_EXTRA */ DBG_ELECTRONIC_THROTTLE_PID = 17, DBG_EXECUTOR = 18, - /** - * See tunerstudio.cpp - */ - DBG_BENCH_TEST = 19, + + DBG_19 = 19, DBG_20 = 20, - /** - * ADC - * See also DBG_ANALOG_INPUTS2 - */ - DBG_ANALOG_INPUTS = 21, + DBG_21 = 21, DBG_INSTANT_RPM = 22, UNUSED23 = 23, @@ -266,10 +263,7 @@ typedef enum __attribute__ ((__packed__)) { DBG_29 = 29, DBG_ION = 30, DBG_TLE8888 = 31, - /** - * See also DBG_ANALOG_INPUTS - */ - DBG_ANALOG_INPUTS2 = 32, + DBG_32 = 32, DBG_DWELL_METRIC = 33, DBG_34 = 34, DBG_35 = 35, @@ -331,7 +325,7 @@ enum class trigger_type_e : uint32_t { * VVT for 2JZ * three evenly spaces teeth */ - TT_VVT_JZ = 17, + TT_VVT_TOYOTA_3_TOOTH = 17, // just one channel with just one tooth TT_ONE = 18, @@ -559,4 +553,8 @@ typedef enum { BENCH_CANCEL, BENCH_FUEL_PUMP_ON, BENCH_FUEL_PUMP_OFF, + BENCH_VVT_1_TARGET_BUMP, + BENCH_VVT_2_TARGET_BUMP, + BENCH_VVT_3_TARGET_BUMP, + BENCH_VVT_4_TARGET_BUMP, } bench_mode_e; diff --git a/firmware/controllers/algo/fuel/fuel_computer.cpp b/firmware/controllers/algo/fuel/fuel_computer.cpp index 526c745628..9fcef09e2a 100644 --- a/firmware/controllers/algo/fuel/fuel_computer.cpp +++ b/firmware/controllers/algo/fuel/fuel_computer.cpp @@ -76,7 +76,7 @@ float IFuelComputer::getLoadOverride(float defaultLoad, load_override_e override // TPS/pedal default to 100% - failed TPS goes rich case AFR_Tps: return Sensor::get(SensorType::Tps1).value_or(100); case AFR_AccPedal: return Sensor::get(SensorType::AcceleratorPedal).value_or(100); - case AFR_CylFilling: return 100 * sdAirMassInOneCylinder / getStandardAirCharge(); + case AFR_CylFilling: return normalizedCylinderFilling; default: return 0; } } diff --git a/firmware/controllers/algo/fuel/fuel_computer.txt b/firmware/controllers/algo/fuel/fuel_computer.txt index 4ba9b1dec4..8b30c69180 100644 --- a/firmware/controllers/algo/fuel/fuel_computer.txt +++ b/firmware/controllers/algo/fuel/fuel_computer.txt @@ -24,4 +24,5 @@ struct_no_prefix fuel_computer_s ! c'mon, not the whole LiveData spaghetti for SD class? float sdTcharge_coff float sdAirMassInOneCylinder;@@GAUGE_NAME_AIR_MASS@@;"g",1, 0, 0, 0, 3 + float normalizedCylinderFilling;Air: Normalized cyl filling;"%", 1, 0, 0, 100, 1 end_struct diff --git a/firmware/controllers/algo/fuel/fuel_computer_generated.h b/firmware/controllers/algo/fuel/fuel_computer_generated.h index 8a908d3d03..4c4395362f 100644 --- a/firmware/controllers/algo/fuel/fuel_computer_generated.h +++ b/firmware/controllers/algo/fuel/fuel_computer_generated.h @@ -53,6 +53,10 @@ struct fuel_computer_s { // g // offset 36 float sdAirMassInOneCylinder = (float)0; + // Air: Normalized cyl filling + // % + // offset 40 + float normalizedCylinderFilling = (float)0; }; -static_assert(sizeof(fuel_computer_s) == 40); +static_assert(sizeof(fuel_computer_s) == 44); diff --git a/firmware/controllers/algo/fuel_math.cpp b/firmware/controllers/algo/fuel_math.cpp index f4b02096f0..3ad91eb218 100644 --- a/firmware/controllers/algo/fuel_math.cpp +++ b/firmware/controllers/algo/fuel_math.cpp @@ -177,7 +177,9 @@ static float getBaseFuelMass(int rpm) { auto airmass = model->getAirmass(rpm, true); // Plop some state for others to read + float normalizedCylinderFilling = 100 * airmass.CylinderAirmass / getStandardAirCharge(); engine->fuelComputer.sdAirMassInOneCylinder = airmass.CylinderAirmass; + engine->fuelComputer.normalizedCylinderFilling = normalizedCylinderFilling; engine->engineState.fuelingLoad = airmass.EngineLoadPercent; engine->engineState.ignitionLoad = engine->fuelComputer.getLoadOverride(airmass.EngineLoadPercent, engineConfiguration->ignOverrideMode); @@ -224,7 +226,7 @@ angle_t getInjectionOffset(float rpm, float load) { } angle_t result = value; - fixAngle(result, "inj offset#2", ObdCode::CUSTOM_ERR_6553); + wrapAngle(result, "inj offset#2", ObdCode::CUSTOM_ERR_6553); return result; } @@ -272,10 +274,6 @@ float getInjectionModeDurationMultiplier() { } } -/** - * This is more like MOSFET duty cycle since durations include injector lag - * @see getCoilDutyCycle - */ percent_t getInjectorDutyCycle(int rpm) { floatms_t totalInjectiorAmountPerCycle = engine->engineState.injectionDuration * getNumberOfInjections(engineConfiguration->injectionMode); floatms_t engineCycleDuration = getEngineCycleDuration(rpm); diff --git a/firmware/controllers/algo/gear_detector.h b/firmware/controllers/algo/gear_detector.h index b5a08843a3..143d881213 100644 --- a/firmware/controllers/algo/gear_detector.h +++ b/firmware/controllers/algo/gear_detector.h @@ -15,8 +15,8 @@ class GearDetector : public EngineModule, public Sensor { float getRpmInGear(size_t gear) const; - SensorResult get() const; - void showInfo(const char* sensorName) const; + SensorResult get() const override; + void showInfo(const char* sensorName) const override; private: float computeGearboxRatio() const; diff --git a/firmware/controllers/algo/launch_control.cpp b/firmware/controllers/algo/launch_control.cpp index 3b08157cb5..fd367d0c77 100644 --- a/firmware/controllers/algo/launch_control.cpp +++ b/firmware/controllers/algo/launch_control.cpp @@ -138,19 +138,19 @@ bool LaunchControlBase::isLaunchFuelRpmRetardCondition() const { } void SoftSparkLimiter::setTargetSkipRatio(float targetSkipRatio) { - this->targetSkipRatio = targetSkipRatio; + m_targetSkipRatio = targetSkipRatio; } static tinymt32_t tinymt; bool SoftSparkLimiter::shouldSkip() { - if (targetSkipRatio == 0 || wasJustSkipped) { + if (m_targetSkipRatio == 0 || wasJustSkipped) { wasJustSkipped = false; return false; } float r = tinymt32_generate_float(&tinymt); - wasJustSkipped = r < 2 * targetSkipRatio; + wasJustSkipped = r < 2 * m_targetSkipRatio; return wasJustSkipped; } diff --git a/firmware/controllers/algo/launch_control.h b/firmware/controllers/algo/launch_control.h index f5789122fd..957fcbc820 100644 --- a/firmware/controllers/algo/launch_control.h +++ b/firmware/controllers/algo/launch_control.h @@ -47,5 +47,5 @@ class SoftSparkLimiter { bool shouldSkip(); private: bool wasJustSkipped = false; - float targetSkipRatio = 0; + float m_targetSkipRatio = 0; }; diff --git a/firmware/controllers/algo/obd_error_codes.h b/firmware/controllers/algo/obd_error_codes.h index 112e3e3697..5983c4b831 100644 --- a/firmware/controllers/algo/obd_error_codes.h +++ b/firmware/controllers/algo/obd_error_codes.h @@ -1703,17 +1703,16 @@ enum class ObdCode : uint16_t { CUSTOM_NAN_ENGINE_LOAD = 6000, CUSTOM_WRONG_ALGORITHM = 6001, - CUSTOM_NAN_ENGINE_LOAD_2 = 6002, - CUSTOM_OBD_6003 = 6003, - CUSTOM_OBD_6004 = 6004, - CUSTOM_6005 = 6005, - CUSTOM_6006 = 6006, - CUSTOM_6007 = 6007, - CUSTOM_6008 = 6008, - CUSTOM_6009 = 6009, - - CUSTOM_6010 = 6010, - CUSTOM_6011 = 6011, + // not used CUSTOM_NAN_ENGINE_LOAD_2 = 6002, + // not used CUSTOM_OBD_6003 = 6003, + // not used CUSTOM_OBD_6004 = 6004, + // not used CUSTOM_6005 = 6005, + // not used CUSTOM_6006 = 6006, + // not used CUSTOM_6007 = 6007, + // not used CUSTOM_6008 = 6008, + // not used CUSTOM_6009 = 6009, + // not used CUSTOM_6010 = 6010, + // not used CUSTOM_6011 = 6011, CUSTOM_ERR_INTERPOLATE_1 = 6012, CUSTOM_ERR_INTERPOLATE_2 = 6013, CUSTOM_ERR_INTERPOLATE_3 = 6014, @@ -1721,11 +1720,11 @@ enum class ObdCode : uint16_t { CUSTOM_PARAM_RANGE = 6016, CUSTOM_MAF_NEEDED = 6017, CUSTOM_UNKNOWN_ALGORITHM = 6018, - CUSTOM_6019 = 6019, + // not used CUSTOM_6019 = 6019, - CUSTOM_6020 = 6020, - CUSTOM_6021 = 6021, - CUSTOM_6022 = 6022, + // not used CUSTOM_6020 = 6020, + // not used CUSTOM_6021 = 6021, + // not used CUSTOM_6022 = 6022, CUSTOM_OBD_UNKNOWN_FIRING_ORDER = 6023, CUSTOM_OBD_WRONG_FIRING_ORDER = 6024, CUSTOM_OBD_IGNITION_MODE = 6025, @@ -1738,7 +1737,7 @@ enum class ObdCode : uint16_t { CUSTOM_ZERO_DWELL = 6032, CUSTOM_DWELL_TOO_LONG = 6033, CUSTOM_SKIPPING_STROKE = 6034, - CUSTOM_6037 = 6037, + // not used CUSTOM_6037 = 6037, /** * This error happens if some pinout configuration changes were applied but ECU was not reset afterwards. */ @@ -1748,7 +1747,7 @@ enum class ObdCode : uint16_t { CUSTOM_OBD_6040 = 6040, CUSTOM_OBD_KNOCK_PROCESSOR = 6041, CUSTOM_OBD_LOCAL_FREEZE = 6042, - CUSTOM_6043 = 6043, + // not used CUSTOM_6043 = 6043, CUSTOM_LOGGING_BUFFER_OVERFLOW = 6044, CUSTOM_OBD_6045 = 6045, CUSTOM_OBD_6046 = 6046, @@ -1756,7 +1755,7 @@ enum class ObdCode : uint16_t { CUSTOM_OBD_PIN_CONFLICT = 6048, CUSTOM_OBD_LOW_FREQUENCY = 6049, - CUSTOM_6051 = 6051, + // not used CUSTOM_6051 = 6051, CUSTOM_OBD_TS_PAGE_MISMATCH = 6052, CUSTOM_OBD_TS_OUTPUT_MISMATCH = 6053, CUSTOM_TOO_LONG_CRANKING_FUEL_INJECTION = 6054, @@ -1865,7 +1864,7 @@ enum class ObdCode : uint16_t { CUSTOM_ERR_ASSERT = 6500, CUSTOM_ERR_ASSERT_VOID = 6501, ERROR_FL_STACK_OVERFLOW = 6502, - CUSTOM_6503 = 6503, + // not used CUSTOM_6503 = 6503, CUSTOM_FLSTACK = 6504, CUSTOM_ERR_NAN_TCHARGE = 6505, CUSTOM_EGO_TYPE = 6506, @@ -2102,10 +2101,10 @@ enum class ObdCode : uint16_t { CUSTOM_INVALID_ADC = 6720, CUSTOM_INVALID_MODE_SETTING = 6721, CUSTOM_ERR_TASK_TIMER_OVERFLOW = 6722, - CUSTOM_NO_ETB_FOR_IDLE = 6723, + // not used CUSTOM_6723 = 6723, CUSTOM_ERR_TLE8888_RESPONSE = 6724, CUSTOM_ERR_CJ125_DIAG = 6725, - CUSTOM_6726 = 6726, + // not used CUSTOM_6726 = 6726, CUSTOM_VVT_MODE_NOT_SELECTED = 6727, CUSTOM_ERR_6728 = 6728, CUSTOM_ARTIFICIAL_MISFIRE = 6729, @@ -2113,7 +2112,7 @@ enum class ObdCode : uint16_t { CUSTOM_INSTANT_MAP_DECODING = 6899, STACK_USAGE_COMMUNICATION = 6900, STACK_USAGE_MIL = 6901, - CUSTOM_6902 = 6902, + // not used CUSTOM_6902 = 6902, STACK_USAGE_STATUS = 6903, STACK_USAGE_4 = 6904, @@ -2145,11 +2144,8 @@ enum class ObdCode : uint16_t { * Should not happen */ CUSTOM_OBD_SKIPPED_SPARK = 9009, - /** - * This is not engine miss detection - this is only internal scheduler state validation - * Should not happen - */ - CUSTOM_OBD_SKIPPED_FUEL = 9010, + + // not used CUSTOM_9010 = 9010, CUSTOM_RE_ADDING_INTO_EXECUTION_QUEUE = 9011, /** * This indicates an issue with coil control - pin was not high when we were trying to set it low. diff --git a/firmware/controllers/algo/odometer.cpp b/firmware/controllers/algo/odometer.cpp deleted file mode 100644 index 701ddf6673..0000000000 --- a/firmware/controllers/algo/odometer.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include "pch.h" - -#include "odometer.h" - - -//static odometer_state odometerCopies[2]; - -void setCrc(odometer_state *state) { - state->crc = crc32(state, 4); -} - -void validate(odometer_state *state) { - int crc = crc32(state, 4); - if (state->crc != crc) - state->totalMeters = 0; - -} - - -void initOdometer() { - - - -} diff --git a/firmware/controllers/algo/odometer.h b/firmware/controllers/algo/odometer.h deleted file mode 100644 index d753dcbe02..0000000000 --- a/firmware/controllers/algo/odometer.h +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once - - -#ifndef EE_PAGE_SIZE -#define EE_PAGE_SIZE 32 -#endif - -#ifndef EE_SIZE -#define EE_SIZE 4096 -#endif - -#ifndef EE_U2CD -#define EE_U2CD I2CD3 -#endif - -struct odometer_state { - int totalMeters; - int crc; -}; diff --git a/firmware/controllers/algo/rusefi_enums.h b/firmware/controllers/algo/rusefi_enums.h index be13f9e1c0..c050b14575 100644 --- a/firmware/controllers/algo/rusefi_enums.h +++ b/firmware/controllers/algo/rusefi_enums.h @@ -52,7 +52,7 @@ typedef enum __attribute__ ((__packed__)) { /** * Toyota 2JZ has three cam tooth. We pick one of these three tooth to synchronize based on the expected angle position of the event */ - VVT_2JZ = 2, + VVT_TOYOTA_3_TOOTH = 2, /** * Mazda NB2 has three cam tooth. We synchronize based on gap ratio. * @see TT_VVT_MIATA_NB @@ -430,14 +430,6 @@ typedef enum { } gear_e; -typedef enum __attribute__ ((__packed__)) { - CUSTOM = 0, - Bosch0280218037 = 1, - Bosch0280218004 = 2, - DensoTODO = 3, - -} maf_sensor_type_e; - typedef enum __attribute__ ((__packed__)) { /** * This is the default mode in which ECU controls timing dynamically @@ -478,24 +470,6 @@ typedef enum __attribute__ ((__packed__)) { } tChargeMode_e; -// peak type -typedef enum { - MINIMUM = -1, - NOT_A_PEAK = 0, - MAXIMUM = 1 -} PidAutoTune_Peak; - -// auto tuner state -typedef enum { - AUTOTUNER_OFF = 0, - STEADY_STATE_AT_BASELINE = 1, - STEADY_STATE_AFTER_STEP_UP = 2, - RELAY_STEP_UP = 4, - RELAY_STEP_DOWN = 8, - CONVERGED = 16, - FAILED = 128 -} PidAutoTune_AutoTunerState; - typedef enum __attribute__ ((__packed__)) { INIT = 0, TPS_THRESHOLD = 1, diff --git a/firmware/controllers/algo/rusefi_types.h b/firmware/controllers/algo/rusefi_types.h index 4a176913b3..3dbf9423da 100644 --- a/firmware/controllers/algo/rusefi_types.h +++ b/firmware/controllers/algo/rusefi_types.h @@ -107,8 +107,6 @@ typedef void (*Void)(void); using lua_script_t = char[LUA_SCRIPT_SIZE]; -using error_message_t = char[ERROR_BUFFER_SIZE]; - using vehicle_info_t = char[VEHICLE_INFO_SIZE]; using vin_number_t = char[VIN_NUMBER_SIZE]; diff --git a/firmware/controllers/algo/trip_odometer.cpp b/firmware/controllers/algo/trip_odometer.cpp new file mode 100644 index 0000000000..5ee825e624 --- /dev/null +++ b/firmware/controllers/algo/trip_odometer.cpp @@ -0,0 +1,78 @@ +#include "pch.h" + +void TripOdometer::reset() { + m_consumedGrams = 0; + m_consumedRemainder = 0; + + m_distanceMeters = 0; + m_distanceRemainder = 0; + + m_slowCallbackCounter = 0; + m_engineRunningSeconds = 0; + m_ignitionOnSeconds = 0; +} + +void TripOdometer::consumeFuel(float grams, efitick_t nowNt) { + m_consumedRemainder += grams; + + while (m_consumedRemainder > 1) { + m_consumedRemainder--; + m_consumedGrams++; + } + + m_consumedGrams += grams; + + float elapsedSecond = m_timer.getElapsedSecondsAndReset(nowNt); + + // If it's been a long time since last injection, ignore this pulse + if (elapsedSecond > 0.2f) { + m_rate = 0; + } else { + m_rate = grams / elapsedSecond; + } +} + +uint32_t TripOdometer::getConsumedGrams() const { + return m_consumedGrams; +} + +float TripOdometer::getConsumptionGramPerSecond() const { + return m_rate; +} + +void TripOdometer::onSlowCallback() { + float meterPerSecond = Sensor::getOrZero(SensorType::VehicleSpeed) / 3.6f; + float metersThisTick = meterPerSecond * (SLOW_CALLBACK_PERIOD_MS / 1000.0f); + + m_distanceRemainder += metersThisTick; + while (m_distanceRemainder > 1.0f) { + m_distanceMeters++; + m_distanceRemainder--; + } + + constexpr float slowCallbackPerSecond = 1000 / SLOW_CALLBACK_PERIOD_MS; + m_slowCallbackCounter++; + if (m_slowCallbackCounter == slowCallbackPerSecond) { + m_slowCallbackCounter = 0; + + m_ignitionOnSeconds++; + +#if EFI_SHAFT_POSITION_INPUT + if (engine->rpmCalculator.isRunning()) { + m_engineRunningSeconds++; + } +#endif // EFI_SHAFT_POSITION_INPUT + } +} + +uint32_t TripOdometer::getDistanceMeters() const { + return m_distanceMeters; +} + +uint32_t TripOdometer::getIgnitionOnTime() const { + return m_ignitionOnSeconds; +} + +uint32_t TripOdometer::getEngineRunTime() const { + return m_engineRunningSeconds; +} diff --git a/firmware/controllers/algo/trip_odometer.h b/firmware/controllers/algo/trip_odometer.h new file mode 100644 index 0000000000..7a70fe08ad --- /dev/null +++ b/firmware/controllers/algo/trip_odometer.h @@ -0,0 +1,32 @@ +#pragma once + +class TripOdometer : public EngineModule { +public: + void onSlowCallback() override; + void reset(); + + void consumeFuel(float grams, efitick_t nowNt); + + uint32_t getConsumedGrams() const; + float getConsumptionGramPerSecond() const; + uint32_t getDistanceMeters() const; + uint32_t getIgnitionOnTime() const; + uint32_t getEngineRunTime() const; + +private: + // Fuel consumed + uint32_t m_consumedGrams = 0; + float m_consumedRemainder = 0; + float m_rate = 0; + + // Distance travelled + uint32_t m_distanceMeters = 0; + float m_distanceRemainder = 0; + + // Engine run time and ign on time + uint32_t m_slowCallbackCounter = 0; + uint32_t m_ignitionOnSeconds = 0; + uint32_t m_engineRunningSeconds = 0; + + Timer m_timer; +}; diff --git a/firmware/controllers/algo/wall_fuel.cpp b/firmware/controllers/algo/wall_fuel.cpp index 9e83d73947..ba6867cf0d 100644 --- a/firmware/controllers/algo/wall_fuel.cpp +++ b/firmware/controllers/algo/wall_fuel.cpp @@ -54,13 +54,6 @@ float WallFuel::adjust(float desiredMassGrams) { float fuelFilmMass = wallFuel; float M_cmd = (desiredMassGrams - (1 - alpha) * fuelFilmMass) / (1 - beta); -#if EFI_TUNER_STUDIO - if (engineConfiguration->debugMode == DBG_KNOCK) { - engine->outputChannels.debugFloatField3 = fuelFilmMass; - engine->outputChannels.debugFloatField4 = M_cmd; - } -#endif // EFI_TUNER_STUDIO - // We can't inject a negative amount of fuel // If this goes below zero we will be over-fueling slightly, // but that's ok. @@ -71,12 +64,6 @@ float WallFuel::adjust(float desiredMassGrams) { // remainder on walls from last time + new from this time float fuelFilmMassNext = alpha * fuelFilmMass + beta * M_cmd; -#if EFI_TUNER_STUDIO - if (engineConfiguration->debugMode == DBG_KNOCK) { - engine->outputChannels.debugFloatField5 = fuelFilmMassNext; - } -#endif // EFI_TUNER_STUDIO - wallFuel = fuelFilmMassNext; wallFuelCorrection = M_cmd - desiredMassGrams; return M_cmd; @@ -185,12 +172,4 @@ void WallFuelController::onFastCallback() { m_alpha = alpha; m_beta = beta; m_enable = true; - -#if EFI_TUNER_STUDIO - // TODO: why DBG_KNOCK? That seems wrong. - if (engineConfiguration->debugMode == DBG_KNOCK) { - engine->outputChannels.debugFloatField1 = alpha; - engine->outputChannels.debugFloatField2 = beta; - } -#endif // EFI_TUNER_STUDIO } diff --git a/firmware/controllers/bench_test.cpp b/firmware/controllers/bench_test.cpp index a391dc9b3e..f38efd063b 100644 --- a/firmware/controllers/bench_test.cpp +++ b/firmware/controllers/bench_test.cpp @@ -89,7 +89,7 @@ static void runBench(BenchParams& params) { } efiPrintf("Running bench: ON_TIME=%d us OFF_TIME=%d us Counter=%d", onTimeUs, offTimeUs, params.Count); - efiPrintf("output on %s", hwPortname(params.Pin->brainPin)); + efiPrintf("output on %s", hwPortname(params.Pin->m_brainPin)); isRunningBench = true; @@ -322,6 +322,20 @@ static void handleBenchCategory(uint16_t index) { case BENCH_FUEL_PUMP_OFF: engine->module()->forcePumpState(false); return; +#if EFI_VVT_PID + case BENCH_VVT_1_TARGET_BUMP: + engine->module()->setTargetOffset(engineConfiguration->vvtBumpAmount); + return; + case BENCH_VVT_2_TARGET_BUMP: + engine->module()->setTargetOffset(engineConfiguration->vvtBumpAmount); + return; + case BENCH_VVT_3_TARGET_BUMP: + engine->module()->setTargetOffset(engineConfiguration->vvtBumpAmount); + return; + case BENCH_VVT_4_TARGET_BUMP: + engine->module()->setTargetOffset(engineConfiguration->vvtBumpAmount); + return; +#endif // EFI_VVT_PID default: firmwareError(ObdCode::OBD_PCM_Processor_Fault, "Unexpected bench function %d", index); } diff --git a/firmware/controllers/can/can.h b/firmware/controllers/can/can.h index bdac32c78d..ada30a403e 100644 --- a/firmware/controllers/can/can.h +++ b/firmware/controllers/can/can.h @@ -44,8 +44,15 @@ enum class CanInterval : uint16_t { class CanListener; class CanSensorBase; +enum class CanBusIndex : int { + Bus0 = 0, + Bus1 = 1, + + Any = -1, +}; + #if EFI_CAN_SUPPORT -void processCanRxMessage(const size_t busIndex, const CANRxFrame& msg, efitick_t nowNt); +void processCanRxMessage(CanBusIndex busIndex, const CANRxFrame& msg, efitick_t nowNt); #endif // EFI_CAN_SUPPORT void registerCanListener(CanListener& listener); diff --git a/firmware/controllers/can/can_bench_test.cpp b/firmware/controllers/can/can_bench_test.cpp index 562d0471d7..38770f9bc3 100644 --- a/firmware/controllers/can/can_bench_test.cpp +++ b/firmware/controllers/can/can_bench_test.cpp @@ -12,10 +12,12 @@ static void setPin(const CANRxFrame& frame, int value) { int index = frame.data8[1]; - if (index >= getBoardMetaOutputsCount()) + if (index >= getBoardMetaOutputsCount()) { return; - Gpio pin = getBoardMetaOutputs()[index]; + } + #if EFI_GPIO_HARDWARE && EFI_PROD_CODE + Gpio pin = getBoardMetaOutputs()[index]; palWritePad(getHwPort("can_write", pin), getHwPin("can_write", pin), value); #endif // EFI_GPIO_HARDWARE && EFI_PROD_CODE } diff --git a/firmware/controllers/can/can_dash.cpp b/firmware/controllers/can/can_dash.cpp index dee69fff2a..7a1c68c271 100644 --- a/firmware/controllers/can/can_dash.cpp +++ b/firmware/controllers/can/can_dash.cpp @@ -181,17 +181,17 @@ void canDashboardBMW(CanCycle cycle) { if (cycle.isInterval(CI::_50ms)) { { - CanTxMessage msg(CAN_BMW_E46_SPEED); + CanTxMessage msg(CAN_BMW_E46_SPEED, 8); msg.setShortValue(10 * 8, 1); } { - CanTxMessage msg(CAN_BMW_E46_RPM); + CanTxMessage msg(CAN_BMW_E46_RPM, 8); msg.setShortValue((int) (Sensor::getOrZero(SensorType::Rpm) * 6.4), 2); } { - CanTxMessage msg(CAN_BMW_E46_DME2); + CanTxMessage msg(CAN_BMW_E46_DME2, 8); msg.setShortValue((int) ((Sensor::getOrZero(SensorType::Clt) + 48.373) / 0.75), 1); } } @@ -201,12 +201,12 @@ void canDashboardBMW(CanCycle cycle) { void canMazdaRX8(CanCycle cycle) { if (cycle.isInterval(CI::_50ms)) { { - CanTxMessage msg(CAN_MAZDA_RX_STEERING_WARNING); + CanTxMessage msg(CAN_MAZDA_RX_STEERING_WARNING, 8); // todo: something needs to be set here? see http://rusefi.com/wiki/index.php?title=Vehicle:Mazda_Rx8_2004 } { - CanTxMessage msg(CAN_MAZDA_RX_RPM_SPEED); + CanTxMessage msg(CAN_MAZDA_RX_RPM_SPEED, 8); float kph = Sensor::getOrZero(SensorType::VehicleSpeed); @@ -217,7 +217,7 @@ void canMazdaRX8(CanCycle cycle) { } { - CanTxMessage msg(CAN_MAZDA_RX_STATUS_1); + CanTxMessage msg(CAN_MAZDA_RX_STATUS_1, 8); msg[0] = 0xFE; //Unknown msg[1] = 0xFE; //Unknown msg[2] = 0xFE; //Unknown @@ -229,7 +229,7 @@ void canMazdaRX8(CanCycle cycle) { } { - CanTxMessage msg(CAN_MAZDA_RX_STATUS_2); + CanTxMessage msg(CAN_MAZDA_RX_STATUS_2, 8); auto clt = Sensor::get(SensorType::Clt); msg[0] = (uint8_t)(clt.value_or(0) + 69); //temp gauge //~170 is red, ~165 last bar, 152 centre, 90 first bar, 92 second bar // TODO: fixme! @@ -258,7 +258,7 @@ void canDashboardFiat(CanCycle cycle) { if (cycle.isInterval(CI::_50ms)) { { //Fiat Dashboard - CanTxMessage msg(CAN_FIAT_MOTOR_INFO); + CanTxMessage msg(CAN_FIAT_MOTOR_INFO, 8); msg.setShortValue((int) (Sensor::getOrZero(SensorType::Clt) - 40), 3); //Coolant Temp msg.setShortValue(Sensor::getOrZero(SensorType::Rpm) / 32, 6); //RPM } @@ -270,24 +270,24 @@ void canDashboardVAG(CanCycle cycle) { { // https://github.com/commaai/opendbc/blob/57c8340a180dd8c75139b18050eb17c72c9cb6e4/vw_golf_mk4.dbc#L394 //VAG Dashboard - CanTxMessage msg(CAN_VAG_Motor_1); + CanTxMessage msg(CAN_VAG_Motor_1, 8); msg.setShortValue(Sensor::getOrZero(SensorType::Rpm) * 4, 2); //RPM } float clt = Sensor::getOrZero(SensorType::Clt); { - CanTxMessage msg(CAN_VAG_Motor_2); + CanTxMessage msg(CAN_VAG_Motor_2, 8); msg.setShortValue((int) ((clt + 48.373) / 0.75), 1); //Coolant Temp } { - CanTxMessage msg(CAN_VAG_CLT_V2); + CanTxMessage msg(CAN_VAG_CLT_V2, 8); msg.setShortValue((int) ((clt + 48.373) / 0.75), 4); //Coolant Temp } { - CanTxMessage msg(CAN_VAG_IMMO); + CanTxMessage msg(CAN_VAG_IMMO, 8); msg.setShortValue(0x80, 1); } } @@ -296,7 +296,7 @@ void canDashboardVAG(CanCycle cycle) { void canDashboardW202(CanCycle cycle) { if (cycle.isInterval(CI::_20ms)) { { - CanTxMessage msg(W202_STAT_1); + CanTxMessage msg(W202_STAT_1, 8); uint16_t tmp = Sensor::getOrZero(SensorType::Rpm); msg[0] = 0x08; // Unknown msg[1] = (tmp >> 8); //RPM @@ -311,7 +311,7 @@ void canDashboardW202(CanCycle cycle) { if (cycle.isInterval(CI::_100ms)) { { - CanTxMessage msg(W202_STAT_2); //dlc 7 + CanTxMessage msg(W202_STAT_2, 8); //dlc 7 msg[0] = (int)(Sensor::getOrZero(SensorType::Clt) + 40); // CLT -40 offset msg[1] = 0x3D; // TBD msg[2] = 0x63; // Const @@ -325,7 +325,7 @@ void canDashboardW202(CanCycle cycle) { if (cycle.isInterval(CI::_200ms)) { { - CanTxMessage msg(W202_ALIVE); + CanTxMessage msg(W202_ALIVE, 8); msg[0] = 0x0A; // Const msg[1] = 0x18; // Const msg[2] = 0x00; // Const @@ -337,7 +337,7 @@ void canDashboardW202(CanCycle cycle) { } { - CanTxMessage msg(W202_STAT_3); + CanTxMessage msg(W202_STAT_3, 8); msg[0] = 0x00; // Const msg[1] = 0x00; // Const msg[2] = 0x6D; // TBD @@ -770,7 +770,7 @@ void canDashboardHaltech(CanCycle cycle) { { CanTxMessage msg(0x36A, 4); /* Knock Level 1 */ - tmp = (engine->outputChannels.knockLevel * 100); + tmp = (engine->module()->m_knockLevel * 100); msg[0] = (tmp >> 8); msg[1] = (tmp & 0x00ff); /* Knock Level 2 */ @@ -1293,14 +1293,19 @@ void canDashboardAim(CanCycle cycle) { return; } - transmitStruct(0x5f0, false); - transmitStruct(0x5f1, false); - transmitStruct(0x5f2, false); - transmitStruct(0x5f3, false); - transmitStruct(0x5f4, false); - transmitStruct(0x5f5, false); - transmitStruct(0x5f6, false); - transmitStruct(0x5f7, false); + CanBusIndex canChannel = + engineConfiguration->canBroadcastUseChannelTwo + ? CanBusIndex::Bus1 + : CanBusIndex::Bus0; + + transmitStruct(0x5f0, false, canChannel); + transmitStruct(0x5f1, false, canChannel); + transmitStruct(0x5f2, false, canChannel); + transmitStruct(0x5f3, false, canChannel); + transmitStruct(0x5f4, false, canChannel); + transmitStruct(0x5f5, false, canChannel); + transmitStruct(0x5f6, false, canChannel); + transmitStruct(0x5f7, false, canChannel); // there are more, but less important for us // transmitStruct(0x5f8, false); diff --git a/firmware/controllers/can/can_rx.cpp b/firmware/controllers/can/can_rx.cpp index 9c2f89a209..ae8bb8fcfc 100644 --- a/firmware/controllers/can/can_rx.cpp +++ b/firmware/controllers/can/can_rx.cpp @@ -62,7 +62,7 @@ bool acceptCanRx(int /*sid*/) { /** * this build-in CAN sniffer is very basic but that's our CAN sniffer */ -static void printPacket(const size_t busIndex, const CANRxFrame &rx) { +static void printPacket(CanBusIndex busIndex, const CANRxFrame &rx) { // bool accept = acceptCanRx(CAN_SID(rx)); // if (!accept) { // return; @@ -74,7 +74,7 @@ static void printPacket(const size_t busIndex, const CANRxFrame &rx) { // internet people use both hex and decimal to discuss packed IDs, for usability it's better to print both right here efiPrintf("CAN RX bus %d ID %x(%d) DLC %d: %02x %02x %02x %02x %02x %02x %02x %02x", - busIndex, + static_cast(busIndex), id, id, // once in hex, once in dec rx.DLC, rx.data8[0], rx.data8[1], rx.data8[2], rx.data8[3], @@ -192,14 +192,13 @@ static void processCanRxImu(const CANRxFrame& frame) { } } -void processCanRxMessage(const size_t busIndex, const CANRxFrame &frame, efitick_t nowNt) { - if (engineConfiguration->verboseCan && busIndex == 0) { +void processCanRxMessage(CanBusIndex busIndex, const CANRxFrame &frame, efitick_t nowNt) { + if (engineConfiguration->verboseCan && busIndex == CanBusIndex::Bus0) { printPacket(busIndex, frame); - } else if (engineConfiguration->verboseCan2 && busIndex == 1) { + } else if (engineConfiguration->verboseCan2 && busIndex == CanBusIndex::Bus1) { printPacket(busIndex, frame); } - serviceCanSubscribers(frame, nowNt); // todo: convert to CanListener or not? @@ -231,9 +230,9 @@ void processCanRxMessage(const size_t busIndex, const CANRxFrame &frame, efitick #endif #if EFI_USE_OPENBLT if ((CAN_SID(frame) == 0x667) && (frame.DLC == 2)) { - /* TODO: gracefull shutdown? */ - if (((busIndex == 0) && (engineConfiguration->canOpenBLT)) || - ((busIndex == 1) && (engineConfiguration->can2OpenBLT))) { + // TODO: gracefull shutdown? + if (((busIndex == CanBusIndex::Bus0) && (engineConfiguration->canOpenBLT)) || + ((busIndex == CanBusIndex::Bus1) && (engineConfiguration->can2OpenBLT))) { jump_to_openblt(); } } diff --git a/firmware/controllers/can/can_verbose.cpp b/firmware/controllers/can/can_verbose.cpp index 0a22e61895..d6725bfdd0 100644 --- a/firmware/controllers/can/can_verbose.cpp +++ b/firmware/controllers/can/can_verbose.cpp @@ -29,12 +29,12 @@ struct Status { uint8_t o2Heater : 1; uint8_t lambdaProtectActive : 1; - uint8_t pad7 : 1; - uint8_t pad8 : 1; + uint8_t fan : 1; + uint8_t fan2 : 1; uint8_t gear; - uint8_t pad[2]; + uint16_t distanceTraveled; }; static void populateFrame(Status& msg) { @@ -47,8 +47,13 @@ static void populateFrame(Status& msg) { msg.checkEngine = enginePins.checkEnginePin.getLogicValue(); msg.o2Heater = enginePins.o2heater.getLogicValue(); msg.lambdaProtectActive = engine->lambdaMonitor.isCut(); + msg.fan = enginePins.fanRelay.getLogicValue(); + msg.fan2 = enginePins.fanRelay2.getLogicValue(); msg.gear = Sensor::getOrZero(SensorType::DetectedGear); + + // scale to units of 0.1km + msg.distanceTraveled = engine->module()->getDistanceMeters() / 100; } struct Speeds { @@ -117,18 +122,18 @@ static void populateFrame(Sensors1& msg) { } struct Sensors2 { - scaled_afr afr; // deprecated + uint8_t pad[2]; + scaled_pressure oilPressure; - scaled_angle vvtPos; // deprecated + uint8_t oilTemp; + uint8_t fuelTemp; scaled_voltage vbatt; }; static void populateFrame(Sensors2& msg) { - msg.afr = Sensor::getOrZero(SensorType::Lambda1) * STOICH_RATIO; msg.oilPressure = Sensor::get(SensorType::OilPressure).value_or(-1); -#if EFI_SHAFT_POSITION_INPUT - msg.vvtPos = engine->triggerCentral.getVVTPosition(0, 0); -#endif // EFI_SHAFT_POSITION_INPUT + msg.oilTemp = Sensor::getOrZero(SensorType::OilTemperature) + PACK_ADD_TEMPERATURE; + msg.fuelTemp = Sensor::getOrZero(SensorType::FuelTemperature) + PACK_ADD_TEMPERATURE; msg.vbatt = Sensor::getOrZero(SensorType::BatteryVoltage); } @@ -153,8 +158,8 @@ struct Fueling2 { }; static void populateFrame(Fueling2& msg) { - msg.fuelConsumedGram = engine->engineState.fuelConsumption.getConsumedGrams(); - msg.fuelFlowRate = engine->engineState.fuelConsumption.getConsumptionGramPerSecond(); + msg.fuelConsumedGram = engine->module()->getConsumedGrams(); + msg.fuelFlowRate = engine->module()->getConsumptionGramPerSecond(); for (size_t i = 0; i < 2; i++) { msg.fuelTrim[i] = 100.0f * (engine->stftCorrection[i] - 1.0f); @@ -204,16 +209,20 @@ static void populateFrame(Cams& msg) { void sendCanVerbose() { auto base = engineConfiguration->verboseCanBaseAddress; auto isExt = engineConfiguration->rusefiVerbose29b; - - transmitStruct (base + 0, isExt); - transmitStruct (base + 1, isExt); - transmitStruct (base + CAN_PEDAL_TPS_OFFSET, isExt); - transmitStruct (base + CAN_SENSOR_1_OFFSET, isExt); - transmitStruct (base + 4, isExt); - transmitStruct (base + 5, isExt); - transmitStruct (base + 6, isExt); - transmitStruct (base + 7, isExt); - transmitStruct (base + 8, isExt); + CanBusIndex canChannel = + engineConfiguration->canBroadcastUseChannelTwo + ? CanBusIndex::Bus1 + : CanBusIndex::Bus0; + + transmitStruct (base + 0, isExt, canChannel); + transmitStruct (base + 1, isExt, canChannel); + transmitStruct (base + CAN_PEDAL_TPS_OFFSET, isExt, canChannel); + transmitStruct (base + CAN_SENSOR_1_OFFSET, isExt, canChannel); + transmitStruct (base + 4, isExt, canChannel); + transmitStruct (base + 5, isExt, canChannel); + transmitStruct (base + 6, isExt, canChannel); + transmitStruct (base + 7, isExt, canChannel); + transmitStruct (base + 8, isExt, canChannel); } #endif // EFI_CAN_SUPPORT diff --git a/firmware/controllers/can/can_vss.cpp b/firmware/controllers/can/can_vss.cpp index d7ea3ac2f1..a108a326ae 100644 --- a/firmware/controllers/can/can_vss.cpp +++ b/firmware/controllers/can/can_vss.cpp @@ -47,13 +47,6 @@ float processW202(const CANRxFrame& frame) { /* End of specific processing functions */ -static void canVssInfo() { - efiPrintf("vss using can option selected %x", engineConfiguration->canVssNbcType); - efiPrintf("vss filter for %x canID", filterCanID); - efiPrintf("Vss module is %d", isInit); - efiPrintf("CONFIG_enableCanVss is %d", engineConfiguration->enableCanVss); -} - expected processCanRxVssImpl(const CANRxFrame& frame) { switch (engineConfiguration->canVssNbcType){ case BMW_e46: @@ -80,7 +73,7 @@ void processCanRxVss(const CANRxFrame& frame, efitick_t nowNt) { } if (auto speed = processCanRxVssImpl(frame)) { - canSpeed.setValidValue(speed.Value, nowNt); + canSpeed.setValidValue(speed.Value * engineConfiguration->canVssScaling, nowNt); #if EFI_DYNO_VIEW updateDynoViewCan(); @@ -89,8 +82,6 @@ void processCanRxVss(const CANRxFrame& frame, efitick_t nowNt) { } void initCanVssSupport() { - addConsoleAction("canvssinfo", canVssInfo); - if (engineConfiguration->enableCanVss) { if (auto canId = look_up_can_id(engineConfiguration->canVssNbcType)) { filterCanID = canId.Value; @@ -104,7 +95,6 @@ void initCanVssSupport() { void setCanVss(int type) { engineConfiguration->canVssNbcType = (can_vss_nbc_e)type; - canVssInfo(); } #endif // EFI_CAN_SUPPORT diff --git a/firmware/controllers/can/obd2.cpp b/firmware/controllers/can/obd2.cpp index e352deda14..7c62711da8 100644 --- a/firmware/controllers/can/obd2.cpp +++ b/firmware/controllers/can/obd2.cpp @@ -56,11 +56,9 @@ static const int16_t supportedPids4160[] = { -1 }; -static void obdSendPacket(int mode, int PID, int numBytes, uint32_t iValue, size_t busIndex) { - CanTxMessage resp(OBD_TEST_RESPONSE); - +static void obdSendPacket(int mode, int PID, int numBytes, uint32_t iValue, CanBusIndex busIndex) { // Respond on the same bus we got the request from - resp.busIndex = busIndex; + CanTxMessage resp(OBD_TEST_RESPONSE, 8, busIndex, false); // write number of bytes resp[0] = (uint8_t)(2 + numBytes); @@ -75,7 +73,7 @@ static void obdSendPacket(int mode, int PID, int numBytes, uint32_t iValue, size #define _1_MODE 1 -static void obdSendValue(int mode, int PID, int numBytes, float value, size_t busIndex) { +static void obdSendValue(int mode, int PID, int numBytes, float value, CanBusIndex busIndex) { efiAssertVoid(ObdCode::CUSTOM_ERR_6662, numBytes <= 2, "invalid numBytes"); int iValue = (int)efiRound(value, 1.0f); // clamp to uint8_t (0..255) or uint16_t (0..65535) @@ -86,7 +84,7 @@ static void obdSendValue(int mode, int PID, int numBytes, float value, size_t bu //#define MOCK_SUPPORTED_PIDS 0xffffffff -static void obdWriteSupportedPids(int PID, int bitOffset, const int16_t *supportedPids, size_t busIndex) { +static void obdWriteSupportedPids(int PID, int bitOffset, const int16_t *supportedPids, CanBusIndex busIndex) { uint32_t value = 0; // gather all 32 bit fields for (int i = 0; i < 32 && supportedPids[i] > 0; i++) @@ -100,7 +98,7 @@ static void obdWriteSupportedPids(int PID, int bitOffset, const int16_t *support obdSendPacket(1, PID, 4, value, busIndex); } -static void handleGetDataRequest(const CANRxFrame& rx, size_t busIndex) { +static void handleGetDataRequest(const CANRxFrame& rx, CanBusIndex busIndex) { int pid = rx.data8[2]; switch (pid) { case PID_SUPPORTED_PIDS_REQUEST_01_20: @@ -163,7 +161,7 @@ static void handleGetDataRequest(const CANRxFrame& rx, size_t busIndex) { obdSendPacket(1, pid, 4, scaled << 16, busIndex); break; } case PID_FUEL_RATE: { - float gPerSecond = engine->engineState.fuelConsumption.getConsumptionGramPerSecond(); + float gPerSecond = engine->module()->getConsumptionGramPerSecond(); float gPerHour = gPerSecond * 3600; float literPerHour = gPerHour * 0.00139f; obdSendValue(_1_MODE, pid, 2, literPerHour * 20.0f, busIndex); // L/h. (A*256+B)/20 @@ -189,7 +187,7 @@ static void handleDtcRequest(int numCodes, ObdCode* dtcCode) { } #if HAL_USE_CAN -void obdOnCanPacketRx(const CANRxFrame& rx, size_t busIndex) { +void obdOnCanPacketRx(const CANRxFrame& rx, CanBusIndex busIndex) { if (CAN_SID(rx) != OBD_TEST_REQUEST) { return; } diff --git a/firmware/controllers/can/obd2.h b/firmware/controllers/can/obd2.h index b512834f11..32a35fae43 100644 --- a/firmware/controllers/can/obd2.h +++ b/firmware/controllers/can/obd2.h @@ -7,6 +7,8 @@ #pragma once +#include "can.h" + #define OBD_TEST_REQUEST 0x7DF #define OBD_TEST_RESPONSE 0x7E8 @@ -46,7 +48,7 @@ //todo#define PID_TURBO_RPM 0x74 #if HAL_USE_CAN -void obdOnCanPacketRx(const CANRxFrame& rx, size_t busIndex); +void obdOnCanPacketRx(const CANRxFrame& rx, CanBusIndex busIndex); #endif /* HAL_USE_CAN */ #define ODB_RPM_MULT 4 diff --git a/firmware/controllers/can/rusEFI_CAN_verbose.dbc b/firmware/controllers/can/rusEFI_CAN_verbose.dbc index 4caf87b0ee..6f7dd0e7a9 100644 --- a/firmware/controllers/can/rusEFI_CAN_verbose.dbc +++ b/firmware/controllers/can/rusEFI_CAN_verbose.dbc @@ -56,6 +56,9 @@ BO_ 512 BASE0: 8 Vector__XXX SG_ EGOHeatAct : 36|1@1+ (1,0) [0|0] "" Vector__XXX SG_ LambdaProtectAct : 37|1@1+ (1,0) [0|0] "" Vector__XXX SG_ CurrentGear : 40|8@1+ (1,0) [0|0] "" Vector__XXX + SG_ DistanceTraveled : 48|16@1+ (0.1,0) [0|6553.5] "km" Vector__XXX + SG_ Fan : 38|1@1+ (1,0) [0|0] "" Vector__XXX + SG_ Fan2 : 39|1@1+ (1,0) [0|0] "" Vector__XXX BO_ 513 BASE1: 8 Vector__XXX SG_ RPM : 0|16@1+ (1,0) [0|0] "RPM" Vector__XXX @@ -82,6 +85,8 @@ BO_ 515 BASE3: 8 Vector__XXX BO_ 516 BASE4: 8 Vector__XXX SG_ OilPress : 16|16@1+ (0.03333333,0) [0|0] "kPa" Vector__XXX + SG_ OilTemperature : 32|8@1+ (1,-40) [-40|215] "deg C" Vector__XXX + SG_ FuelTemperature : 40|8@1+ (1,-40) [-40|215] "deg C" Vector__XXX SG_ BattVolt : 48|16@1+ (0.001,0) [0|25] "mV" Vector__XXX BO_ 517 BASE5: 8 Vector__XXX @@ -126,6 +131,7 @@ CM_ SG_ 512 CELAct "Check Engine Light Active"; CM_ SG_ 512 EGOHeatAct "EGO Heater Commanded On"; CM_ SG_ 512 LambdaProtectAct "Lambda protection active (fault detected)"; CM_ SG_ 512 CurrentGear "Current detected gear. 0 means neutral, 1 means first, etc."; +CM_ SG_ 512 DistanceTraveled "Distance traveled since reset"; CM_ SG_ 513 RPM "Current RPM"; CM_ SG_ 513 IgnitionTiming "Current Ignition Timing. Positive is advance."; CM_ SG_ 513 InjDuty "Injection Duty diff --git a/firmware/controllers/can/rusefi_wideband.cpp b/firmware/controllers/can/rusefi_wideband.cpp index c6f93c7906..8c91f0b8c4 100644 --- a/firmware/controllers/can/rusefi_wideband.cpp +++ b/firmware/controllers/can/rusefi_wideband.cpp @@ -26,12 +26,12 @@ bool waitAck() { return chEvtWaitAnyTimeout(EVT_BOOTLOADER_ACK, TIME_MS2I(1000)) != 0; } -static size_t getWidebandBus() { - return engineConfiguration->widebandOnSecondBus ? 1 : 0; +static CanBusIndex getWidebandBus() { + return engineConfiguration->widebandOnSecondBus ? CanBusIndex::Bus1 : CanBusIndex::Bus0; } void updateWidebandFirmware() { - size_t bus = getWidebandBus(); + CanBusIndex bus = getWidebandBus(); // Clear any pending acks for this thread chEvtGetAndClearEvents(EVT_BOOTLOADER_ACK); diff --git a/firmware/controllers/controllers.mk b/firmware/controllers/controllers.mk index c604521895..7b3ab37945 100644 --- a/firmware/controllers/controllers.mk +++ b/firmware/controllers/controllers.mk @@ -26,6 +26,7 @@ CONTROLLERS_SRC_CPP = \ $(CONTROLLERS_DIR)/actuators/gppwm/gppwm_channel.cpp \ $(CONTROLLERS_DIR)/actuators/gppwm/gppwm.cpp \ $(CONTROLLERS_DIR)/gauges/tachometer.cpp \ + $(CONTROLLERS_DIR)/gauges/speedometer.cpp \ $(CONTROLLERS_DIR)/gauges/malfunction_indicator.cpp \ $(CONTROLLERS_DIR)/system/timer/signal_executor_sleep.cpp \ $(CONTROLLERS_DIR)/system/timer/single_timer_executor.cpp \ diff --git a/firmware/controllers/core/error_handling.cpp b/firmware/controllers/core/error_handling.cpp index 584dedda6a..4650256087 100644 --- a/firmware/controllers/core/error_handling.cpp +++ b/firmware/controllers/core/error_handling.cpp @@ -12,8 +12,6 @@ static critical_msg_t warningBuffer; static critical_msg_t criticalErrorMessageBuffer; -extern int warningEnabled; - bool hasFirmwareErrorFlag = false; const char *dbg_panic_file; @@ -133,7 +131,7 @@ bool warning(ObdCode code, const char *fmt, ...) { #if EFI_SIMULATOR || EFI_PROD_CODE // we just had this same warning, let's not spam - if (engine->engineState.warnings.isWarningNow(code) || !warningEnabled) { + if (engine->engineState.warnings.isWarningNow(code)) { return true; } @@ -144,12 +142,6 @@ bool warning(ObdCode code, const char *fmt, ...) { chvsnprintf(warningBuffer, sizeof(warningBuffer), fmt, ap); va_end(ap); - if (engineConfiguration->showHumanReadableWarning) { -#if EFI_TUNER_STUDIO - memcpy(persistentState.persistentConfiguration.warning_message, warningBuffer, sizeof(warningBuffer)); -#endif /* EFI_TUNER_STUDIO */ - } - efiPrintf("WARNING: %s", warningBuffer); #else // todo: we need access to 'engine' here so that we can migrate to real 'engine->engineState.warnings' diff --git a/firmware/controllers/date_stamp.h b/firmware/controllers/date_stamp.h index 3a92446722..facd377bdd 100644 --- a/firmware/controllers/date_stamp.h +++ b/firmware/controllers/date_stamp.h @@ -1,2 +1,2 @@ #pragma once -#define VCS_DATE 20230826 +#define VCS_DATE 20231105 diff --git a/firmware/controllers/engine_controller.cpp b/firmware/controllers/engine_controller.cpp index 9be26817b0..3a6c651b56 100644 --- a/firmware/controllers/engine_controller.cpp +++ b/firmware/controllers/engine_controller.cpp @@ -46,6 +46,7 @@ #include "boost_control.h" #include "launch_control.h" #include "tachometer.h" +#include "speedometer.h" #include "gppwm.h" #include "date_stamp.h" #include "buttonshift.h" @@ -159,7 +160,7 @@ static void resetAccel() { for (size_t i = 0; i < efi::size(engine->injectionEvents.elements); i++) { - engine->injectionEvents.elements[i].wallFuel.resetWF(); + engine->injectionEvents.elements[i].getWallFuel().resetWF(); } } @@ -192,6 +193,10 @@ static void doPeriodicSlowCallback() { } engine->periodicSlowCallback(); +#else /* if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT */ + #if EFI_INTERNAL_FLASH + writeToFlashIfPending(); + #endif /* EFI_INTERNAL_FLASH */ #endif /* if EFI_ENGINE_CONTROL && EFI_SHAFT_POSITION_INPUT */ #if EFI_TCU @@ -420,6 +425,22 @@ void commonInitEngineController() { } #endif +#if !EFI_UNIT_TEST && EFI_ENGINE_CONTROL + initBenchTest(); +#endif /* EFI_PROD_CODE && EFI_ENGINE_CONTROL */ + +#if EFI_ALTERNATOR_CONTROL + initAlternatorCtrl(); +#endif /* EFI_ALTERNATOR_CONTROL */ + +#if EFI_VVT_PID + initVvtActuators(); +#endif /* EFI_VVT_PID */ + +#if EFI_MALFUNCTION_INDICATOR + initMalfunctionIndicator(); +#endif /* EFI_MALFUNCTION_INDICATOR */ + #if !EFI_UNIT_TEST // This is tested independently - don't configure sensors for tests. // This lets us selectively mock them for each test. @@ -468,6 +489,7 @@ void commonInitEngineController() { #endif /* EFI_UNIT_TEST */ initTachometer(); + initSpeedometer(); } // Returns false if there's an obvious problem with the loaded configuration @@ -595,10 +617,6 @@ bool validateConfig() { void initEngineController() { addConsoleAction("sensorinfo", printSensorInfo); -#if EFI_PROD_CODE && EFI_ENGINE_CONTROL - initBenchTest(); -#endif /* EFI_PROD_CODE && EFI_ENGINE_CONTROL */ - commonInitEngineController(); #if EFI_LOGIC_ANALYZER @@ -618,23 +636,6 @@ void initEngineController() { #if EFI_PWM_TESTER initPwmTester(); #endif /* EFI_PWM_TESTER */ - -#if EFI_ALTERNATOR_CONTROL - initAlternatorCtrl(); -#endif /* EFI_ALTERNATOR_CONTROL */ - -#if EFI_AUX_PID - initVvtActuators(); -#endif /* EFI_AUX_PID */ - -#if EFI_MALFUNCTION_INDICATOR - initMalfunctionIndicator(); -#endif /* EFI_MALFUNCTION_INDICATOR */ - -#if EFI_PROD_CODE - addConsoleAction("reset_accel", resetAccel); -#endif /* EFI_PROD_CODE */ - } /** diff --git a/firmware/controllers/engine_cycle/fuel_schedule.cpp b/firmware/controllers/engine_cycle/fuel_schedule.cpp index d82c8b218d..e22817eeee 100644 --- a/firmware/controllers/engine_cycle/fuel_schedule.cpp +++ b/firmware/controllers/engine_cycle/fuel_schedule.cpp @@ -21,10 +21,14 @@ void turnInjectionPinHigh(InjectionEvent *event) { FuelSchedule::FuelSchedule() { for (int cylinderIndex = 0; cylinderIndex < MAX_CYLINDER_COUNT; cylinderIndex++) { - elements[cylinderIndex].ownIndex = cylinderIndex; + elements[cylinderIndex].setIndex(cylinderIndex); } } +WallFuel& InjectionEvent::getWallFuel() { + return wallFuel; +} + void FuelSchedule::invalidate() { isReady = false; } @@ -64,7 +68,7 @@ InjectionEvent::InjectionEvent() { // Returns the start angle of this injector in engine coordinates (0-720 for a 4 stroke), // or unexpected if unable to calculate the start angle due to missing information. -expected InjectionEvent::computeInjectionAngle(int cylinderIndex) const { +expected InjectionEvent::computeInjectionAngle() const { floatus_t oneDegreeUs = getEngineRotationState()->getOneDegreeUs(); if (cisnan(oneDegreeUs)) { // in order to have fuel schedule we need to have current RPM @@ -84,14 +88,17 @@ expected InjectionEvent::computeInjectionAngle(int cylinderIndex) const { angle_t openingAngle = injectionOffset - injectionDurationAngle; assertAngleRange(openingAngle, "openingAngle_r", ObdCode::CUSTOM_ERR_6554); + wrapAngle(openingAngle, "addFuel#1", ObdCode::CUSTOM_ERR_6555); + // TODO: should we log per-cylinder injection timing? #76 + getTunerStudioOutputChannels()->injectionOffset = openingAngle; // Convert from cylinder-relative to cylinder-1-relative - openingAngle += getCylinderAngle(cylinderIndex, cylinderNumber); + openingAngle += getCylinderAngle(ownIndex, cylinderNumber); efiAssert(ObdCode::CUSTOM_ERR_ASSERT, !cisnan(openingAngle), "findAngle#3", false); assertAngleRange(openingAngle, "findAngle#a33", ObdCode::CUSTOM_ERR_6544); - wrapAngle2(openingAngle, "addFuel#2", ObdCode::CUSTOM_ERR_6555, getEngineCycle(getEngineRotationState()->getOperationMode())); + wrapAngle(openingAngle, "addFuel#2", ObdCode::CUSTOM_ERR_6555); #if EFI_UNIT_TEST printf("registerInjectionEvent openingAngle=%.2f inj %d\r\n", openingAngle, cylinderNumber); @@ -100,11 +107,16 @@ expected InjectionEvent::computeInjectionAngle(int cylinderIndex) const { return openingAngle; } -bool InjectionEvent::updateInjectionAngle(int cylinderIndex) { - auto result = computeInjectionAngle(cylinderIndex); +bool InjectionEvent::updateInjectionAngle() { + auto result = computeInjectionAngle(); if (result) { - injectionStartAngle = result.Value; + // If injector duty cycle is high, lock injection SOI so that we + // don't miss injections at or above 100% duty + if (getEngineState()->shouldUpdateInjectionTiming) { + injectionStartAngle = result.Value; + } + return true; } else { return false; @@ -114,10 +126,8 @@ bool InjectionEvent::updateInjectionAngle(int cylinderIndex) { /** * @returns false in case of error, true if success */ -bool FuelSchedule::addFuelEventsForCylinder(int i) { - InjectionEvent *ev = &elements[i]; - - bool updatedAngle = ev->updateInjectionAngle(i); +bool InjectionEvent::update() { + bool updatedAngle = updateInjectionAngle(); if (!updatedAngle) { return false; @@ -128,7 +138,7 @@ bool FuelSchedule::addFuelEventsForCylinder(int i) { // Map order index -> cylinder index (firing order) // Single point only uses injector 1 (index 0) - int injectorIndex = mode == IM_SINGLE_POINT ? 0 : ID2INDEX(getCylinderId(i)); + int injectorIndex = mode == IM_SINGLE_POINT ? 0 : ID2INDEX(getCylinderId(ownIndex)); InjectorOutputPin *secondOutput = nullptr; @@ -139,23 +149,23 @@ bool FuelSchedule::addFuelEventsForCylinder(int i) { // Compute the position of this cylinder's twin in the firing order // Each injector gets fired as a primary (the same as sequential), but also // fires the injector 360 degrees later in the firing order. - int secondOrder = (i + (engineConfiguration->cylindersCount / 2)) % engineConfiguration->cylindersCount; + int secondOrder = (ownIndex + (engineConfiguration->cylindersCount / 2)) % engineConfiguration->cylindersCount; int secondIndex = ID2INDEX(getCylinderId(secondOrder)); secondOutput = &enginePins.injectors[secondIndex]; } - ev->outputs[0] = &enginePins.injectors[injectorIndex]; - ev->outputs[1] = secondOutput; - ev->isSimultaneous = mode == IM_SIMULTANEOUS; + outputs[0] = &enginePins.injectors[injectorIndex]; + outputs[1] = secondOutput; + isSimultaneous = mode == IM_SIMULTANEOUS; // Stash the cylinder number so we can select the correct fueling bank later - ev->cylinderNumber = injectorIndex; + cylinderNumber = injectorIndex; return true; } void FuelSchedule::addFuelEvents() { for (size_t cylinderIndex = 0; cylinderIndex < engineConfiguration->cylindersCount; cylinderIndex++) { - bool result = addFuelEventsForCylinder(cylinderIndex); + bool result = elements[cylinderIndex].update(); if (!result) { invalidate(); diff --git a/firmware/controllers/engine_cycle/fuel_schedule.h b/firmware/controllers/engine_cycle/fuel_schedule.h index 0767618f1c..fc75d75e9d 100644 --- a/firmware/controllers/engine_cycle/fuel_schedule.h +++ b/firmware/controllers/engine_cycle/fuel_schedule.h @@ -18,36 +18,38 @@ class InjectionEvent { public: InjectionEvent(); - // Update the injection start angle - bool updateInjectionAngle(int cylinderIndex); - - // Compute the injection start angle, compensating for injection duration and injection phase settings. - expected computeInjectionAngle(int cylinderIndex) const; + bool update(); // Call this every decoded trigger tooth. It will schedule any relevant events for this injector. void onTriggerTooth(int rpm, efitick_t nowNt, float currentPhase, float nextPhase); + WallFuel& getWallFuel(); + + void setIndex(uint8_t index) { + ownIndex = index; + } + +private: + // Update the injection start angle + bool updateInjectionAngle(); + + // Compute the injection start angle, compensating for injection duration and injection phase settings. + expected computeInjectionAngle() const; + /** * This is a performance optimization for IM_SIMULTANEOUS fuel strategy. * It's more efficient to handle all injectors together if that's the case */ bool isSimultaneous = false; - InjectorOutputPin *outputs[MAX_WIRES_COUNT]; uint8_t ownIndex = 0; uint8_t cylinderNumber = 0; - float injectionStartAngle = 0; - - /** - * we need atomic flag so that we do not schedule a new pair of up/down before previous down was executed. - * - * That's because we want to be sure that no 'down' side callback would be ignored since we are counting to see - * overlaps so we need the end counter to always have zero. - * TODO: make watchdog decrement relevant counter - */ - bool isScheduled = false; - WallFuel wallFuel; + +public: + // TODO: this should be private + InjectorOutputPin *outputs[MAX_WIRES_COUNT]; + float injectionStartAngle = 0; }; void turnInjectionPinHigh(InjectionEvent *event); @@ -66,11 +68,8 @@ class FuelSchedule { // Call this every trigger tooth. It will schedule all required injector events. void onTriggerTooth(int rpm, efitick_t nowNt, float currentPhase, float nextPhase); - /** - * this method schedules all fuel events for an engine cycle - */ + // Calculate injector opening angle, pins, and mode for all injectors void addFuelEvents(); - bool addFuelEventsForCylinder(int cylinderIndex); void resetOverlapping(); diff --git a/firmware/controllers/engine_cycle/knock_controller.cpp b/firmware/controllers/engine_cycle/knock_controller.cpp index e6bd26e709..eef94df816 100644 --- a/firmware/controllers/engine_cycle/knock_controller.cpp +++ b/firmware/controllers/engine_cycle/knock_controller.cpp @@ -51,22 +51,16 @@ int getCylinderKnockBank(uint8_t cylinderNumber) { bool KnockControllerBase::onKnockSenseCompleted(uint8_t cylinderNumber, float dbv, efitick_t lastKnockTime) { bool isKnock = dbv > m_knockThreshold; -#if EFI_TUNER_STUDIO - // Pass through per-cylinder peak detector + // Per-cylinder peak detector float cylPeak = peakDetectors[cylinderNumber].detect(dbv, lastKnockTime); - engine->outputChannels.knock[cylinderNumber] = roundf(cylPeak); + m_knockCyl[cylinderNumber] = roundf(cylPeak); - // Pass through all-cylinders peak detector - engine->outputChannels.knockLevel = allCylinderPeakDetector.detect(dbv, lastKnockTime); + // All-cylinders peak detector + m_knockLevel = allCylinderPeakDetector.detect(dbv, lastKnockTime); - // If this was a knock, count it! if (isKnock) { m_knockCount++; - } -#endif // EFI_TUNER_STUDIO - // TODO: retard timing, then put it back! - if (isKnock) { auto baseTiming = engine->engineState.timingAdvance[cylinderNumber]; // TODO: 20 configurable? Better explanation why 20? @@ -107,10 +101,15 @@ void KnockControllerBase::onFastCallback() { // Adjust knock retard under lock chibios_rt::CriticalSectionLocker csl; + // Reduce knock retard at the requested rate float newRetard = m_knockRetard - applyAmount; // don't allow retard to go negative - m_knockRetard = maxF(0, newRetard); + if (newRetard < 0) { + m_knockRetard = 0; + } else { + m_knockRetard = newRetard; + } } } @@ -137,7 +136,7 @@ static uint8_t cylinderNumberCopy; // Called when its time to start listening for knock // Does some math, then hands off to the driver to start any sampling hardware -static void startKnockSampling(Engine* engine) { +static void startKnockSampling(void*) { if (!engine->rpmCalculator.isRunning()) { return; } @@ -157,7 +156,7 @@ void Engine::onSparkFireKnockSense(uint8_t cylinderNumber, efitick_t nowNt) { #if EFI_SOFTWARE_KNOCK scheduleByAngle(nullptr, nowNt, - /*angle*/engineConfiguration->knockDetectionWindowStart, { startKnockSampling, engine }); + /*angle*/engineConfiguration->knockDetectionWindowStart, startKnockSampling); #else UNUSED(nowNt); #endif diff --git a/firmware/controllers/engine_cycle/knock_controller.txt b/firmware/controllers/engine_cycle/knock_controller.txt index 607ea9e866..4581270251 100644 --- a/firmware/controllers/engine_cycle/knock_controller.txt +++ b/firmware/controllers/engine_cycle/knock_controller.txt @@ -1,6 +1,9 @@ struct_no_prefix knock_controller_s - angle_t m_knockRetard;Knock Degrees retarded\nlarger number = more retard - float m_knockThreshold - uint32_t m_knockCount - float m_maximumRetard + float m_knockLevel;@@GAUGE_NAME_KNOCK_LEVEL@@;"Volts", 1, 0, 0, 0, 2 + int8_t[12 iterate] m_knockCyl;Knock: Cyl;"dBv",1, 0, 0, 0, 0 + + angle_t m_knockRetard;@@GAUGE_NAME_KNOCK_RETARD@@;"deg",1,0,0,0,1 + float m_knockThreshold;Knock: Threshold + uint32_t m_knockCount;@@GAUGE_NAME_KNOCK_COUNTER@@;"",1, 0, 0, 0, 0 + float m_maximumRetard;Knock: Max retard end_struct diff --git a/firmware/controllers/engine_cycle/knock_controller_generated.h b/firmware/controllers/engine_cycle/knock_controller_generated.h index e8ae8408af..cb8ae7441f 100644 --- a/firmware/controllers/engine_cycle/knock_controller_generated.h +++ b/firmware/controllers/engine_cycle/knock_controller_generated.h @@ -1,16 +1,27 @@ #pragma once #include "rusefi_types.h" struct knock_controller_s { - // Knock Degrees retarded - // larger number = more retard + // @@GAUGE_NAME_KNOCK_LEVEL@@ + // Volts // offset 0 - angle_t m_knockRetard = (angle_t)0; + float m_knockLevel = (float)0; + // Knock: Cyl + // dBv // offset 4 + int8_t m_knockCyl[12]; + // @@GAUGE_NAME_KNOCK_RETARD@@ + // deg + // offset 16 + angle_t m_knockRetard = (angle_t)0; + // Knock: Threshold + // offset 20 float m_knockThreshold = (float)0; - // offset 8 + // @@GAUGE_NAME_KNOCK_COUNTER@@ + // offset 24 uint32_t m_knockCount = (uint32_t)0; - // offset 12 + // Knock: Max retard + // offset 28 float m_maximumRetard = (float)0; }; -static_assert(sizeof(knock_controller_s) == 16); +static_assert(sizeof(knock_controller_s) == 32); diff --git a/firmware/controllers/engine_cycle/knock_logic.h b/firmware/controllers/engine_cycle/knock_logic.h index ec8ef75a25..2f7d0ac80b 100644 --- a/firmware/controllers/engine_cycle/knock_logic.h +++ b/firmware/controllers/engine_cycle/knock_logic.h @@ -31,7 +31,7 @@ class KnockControllerBase : public EngineModule, public knock_controller_s { virtual float getMaximumRetard() const = 0; private: - using PD = PeakDetect; + using PD = PeakDetect; PD peakDetectors[12]; PD allCylinderPeakDetector; }; diff --git a/firmware/controllers/engine_cycle/main_trigger_callback.cpp b/firmware/controllers/engine_cycle/main_trigger_callback.cpp index ceaccd28bc..0ccbd3e96c 100644 --- a/firmware/controllers/engine_cycle/main_trigger_callback.cpp +++ b/firmware/controllers/engine_cycle/main_trigger_callback.cpp @@ -47,22 +47,20 @@ #include "backup_ram.h" void endSimultaneousInjection(InjectionEvent *event) { - event->isScheduled = false; endSimultaneousInjectionOnlyTogglePins(); - getFuelSchedule()->addFuelEventsForCylinder(event->ownIndex); + event->update(); } void turnInjectionPinLow(InjectionEvent *event) { efitick_t nowNt = getTimeNowNt(); - event->isScheduled = false; for (int i = 0;ioutputs[i]; if (output) { output->close(nowNt); } } - getFuelSchedule()->addFuelEventsForCylinder(event->ownIndex); + event->update(); } void InjectionEvent::onTriggerTooth(int rpm, efitick_t nowNt, float currentPhase, float nextPhase) { @@ -95,11 +93,8 @@ void InjectionEvent::onTriggerTooth(int rpm, efitick_t nowNt, float currentPhase * see also injectorDutyCycle */ int numberOfInjections = isCranking ? getNumberOfInjections(engineConfiguration->crankingInjectionMode) : getNumberOfInjections(engineConfiguration->injectionMode); - if (injectionDuration * numberOfInjections > getEngineCycleDuration(rpm)) { - warning(ObdCode::CUSTOM_TOO_LONG_FUEL_INJECTION, "Too long fuel injection %.2fms", injectionDuration); - } - getEngineState()->fuelConsumption.consumeFuel(injectionMassGrams * numberOfInjections, nowNt); + engine->module()->consumeFuel(injectionMassGrams * numberOfInjections, nowNt); if (this->cylinderNumber == 0) { engine->outputChannels.actualLastInjection = injectionDuration; @@ -125,41 +120,14 @@ void InjectionEvent::onTriggerTooth(int rpm, efitick_t nowNt, float currentPhase floatus_t durationUs = MS2US(injectionDuration); - - // we are ignoring low RPM in order not to handle "engine was stopped to engine now running" transition -/* - * Wall Wetting would totally skip fuel on sudden deceleration a - if (rpm > 2 * engineConfiguration->cranking.rpm) { - const char *outputName = outputs[0]->name; - if (engine->prevOutputName == outputName - && engineConfiguration->injectionMode != IM_SIMULTANEOUS - && engineConfiguration->injectionMode != IM_SINGLE_POINT) { - warning(ObdCode::CUSTOM_OBD_SKIPPED_FUEL, "looks like skipped fuel event revCounter=%d %s", getRevolutionCounter(), outputName); - } - engine->prevOutputName = outputName; - } -*/ - #if EFI_PRINTF_FUEL_DETAILS if (printFuelDebug) { InjectorOutputPin *output = outputs[0]; - printf("handleFuelInjectionEvent fuelout %s injection_duration %dus engineCycleDuration=%.1fms\t\n", output->name, (int)durationUs, + printf("handleFuelInjectionEvent fuelout %s injection_duration %dus engineCycleDuration=%.1fms\t\n", output->getName(), (int)durationUs, (int)MS2US(getCrankshaftRevolutionTimeMs(Sensor::getOrZero(SensorType::Rpm))) / 1000.0); } #endif /*EFI_PRINTF_FUEL_DETAILS */ -if (isScheduled) { -#if EFI_PRINTF_FUEL_DETAILS - if (printFuelDebug) { - InjectorOutputPin *output = outputs[0]; - printf("handleFuelInjectionEvent still used %s now=%.1fms\r\n", output->name, (int)getTimeNowUs() / 1000.0); - } -#endif /*EFI_PRINTF_FUEL_DETAILS */ - return; // this InjectionEvent is still needed for an extremely long injection scheduled previously - } - - isScheduled = true; - action_s startAction, endAction; // We use different callbacks based on whether we're running sequential mode or not - everything else is the same if (isSimultaneous) { @@ -207,10 +175,8 @@ static void handleFuel(int rpm, efitick_t nowNt, float currentPhase, float nextP return; } - /** - * Injection events are defined by addFuelEvents() according to selected - * fueling strategy - */ + // This is called in the fast callback already, but since we may have just achieved engine sync (and RPM) + // for the first time, force update the schedule so that we can inject immediately if necessary FuelSchedule *fs = getFuelSchedule(); if (!fs->isReady) { fs->addFuelEvents(); diff --git a/firmware/controllers/engine_cycle/map_averaging.cpp b/firmware/controllers/engine_cycle/map_averaging.cpp index 3014709975..6ae1fd8330 100644 --- a/firmware/controllers/engine_cycle/map_averaging.cpp +++ b/firmware/controllers/engine_cycle/map_averaging.cpp @@ -182,7 +182,7 @@ void refreshMapAveragingPreCalc() { // move the loop into start-up calculation and not have this loop as part of periodic calculation // todo: change the logic as described above in order to reduce periodic CPU usage? float cylinderStart = start + cylinderOffset - offsetAngle + tdcPosition(); - fixAngle(cylinderStart, "cylinderStart", ObdCode::CUSTOM_ERR_6562); + wrapAngle(cylinderStart, "cylinderStart", ObdCode::CUSTOM_ERR_6562); engine->engineState.mapAveragingStart[i] = cylinderStart; } engine->engineState.mapAveragingDuration = interpolate2d(rpm, c->samplingWindowBins, c->samplingWindow); @@ -239,7 +239,7 @@ void mapAveragingTriggerCallback( } // todo: pre-calculate samplingEnd for each cylinder - fixAngle(samplingEnd, "samplingEnd", ObdCode::CUSTOM_ERR_6563); + wrapAngle(samplingEnd, "samplingEnd", ObdCode::CUSTOM_ERR_6563); // only if value is already prepared int structIndex = getRevolutionCounter() % 2; diff --git a/firmware/controllers/engine_cycle/rpm_calculator.cpp b/firmware/controllers/engine_cycle/rpm_calculator.cpp index 4cf1d5dca7..ae2ee702bd 100644 --- a/firmware/controllers/engine_cycle/rpm_calculator.cpp +++ b/firmware/controllers/engine_cycle/rpm_calculator.cpp @@ -374,7 +374,7 @@ void tdcMarkCallback( if (isValidRpm(rpm)) { angle_t tdcPosition = tdcPosition(); // we need a positive angle offset here - fixAngle(tdcPosition, "tdcPosition", ObdCode::CUSTOM_ERR_6553); + wrapAngle(tdcPosition, "tdcPosition", ObdCode::CUSTOM_ERR_6553); scheduleByAngle(&engine->tdcScheduler[revIndex2], edgeTimestamp, tdcPosition, onTdcCallback); } } diff --git a/firmware/controllers/engine_cycle/spark_logic.cpp b/firmware/controllers/engine_cycle/spark_logic.cpp index 2d506e8299..be5cbc5589 100644 --- a/firmware/controllers/engine_cycle/spark_logic.cpp +++ b/firmware/controllers/engine_cycle/spark_logic.cpp @@ -24,8 +24,8 @@ static const char *prevSparkName = nullptr; static void fireSparkBySettingPinLow(IgnitionEvent *event, IgnitionOutputPin *output) { #if SPARK_EXTREME_LOGGING - efiPrintf("spark goes low %d %s %d current=%d cnt=%d id=%d", getRevolutionCounter(), output->name, (int)getTimeNowUs(), - output->currentLogicValue, output->outOfOrder, event->sparkId); + efiPrintf("spark goes low %d %s %d current=%d cnt=%d id=%d", getRevolutionCounter(), output->getName(), (int)getTimeNowUs(), + output->m_currentLogicValue, output->outOfOrder, event->sparkId); #endif /* SPARK_EXTREME_LOGGING */ /** @@ -37,7 +37,7 @@ static void fireSparkBySettingPinLow(IgnitionEvent *event, IgnitionOutputPin *ou output->signalFallSparkId = event->sparkId; - if (!output->currentLogicValue && !event->wasSparkLimited) { + if (!output->m_currentLogicValue && !event->wasSparkLimited) { warning(ObdCode::CUSTOM_OUT_OF_ORDER_COIL, "out-of-order coil off %s", output->getName()); output->outOfOrder = true; } @@ -100,7 +100,7 @@ static void prepareCylinderIgnitionSchedule(angle_t dwellAngleDuration, floatms_ + getCylinderAngle(event->cylinderIndex, event->cylinderNumber); efiAssertVoid(ObdCode::CUSTOM_SPARK_ANGLE_1, !cisnan(sparkAngle), "sparkAngle#1"); - wrapAngle2(sparkAngle, "findAngle#2", ObdCode::CUSTOM_ERR_6550, getEngineCycle(getEngineRotationState()->getOperationMode())); + wrapAngle(sparkAngle, "findAngle#2", ObdCode::CUSTOM_ERR_6550); event->sparkAngle = sparkAngle; auto ignitionMode = getCurrentIgnitionMode(); @@ -129,27 +129,27 @@ static void prepareCylinderIgnitionSchedule(angle_t dwellAngleDuration, floatms_ efiAssertVoid(ObdCode::CUSTOM_ERR_6590, !cisnan(dwellStartAngle), "findAngle#5"); assertAngleRange(dwellStartAngle, "findAngle dwellStartAngle", ObdCode::CUSTOM_ERR_6550); - wrapAngle2(dwellStartAngle, "findAngle#7", ObdCode::CUSTOM_ERR_6550, getEngineCycle(getEngineRotationState()->getOperationMode())); + wrapAngle(dwellStartAngle, "findAngle#7", ObdCode::CUSTOM_ERR_6550); event->dwellAngle = dwellStartAngle; } static void chargeTrailingSpark(IgnitionOutputPin* pin) { #if SPARK_EXTREME_LOGGING - efiPrintf("chargeTrailingSpark %s", pin->name); + efiPrintf("chargeTrailingSpark %s", pin->getName()); #endif /* SPARK_EXTREME_LOGGING */ pin->setHigh(); } static void fireTrailingSpark(IgnitionOutputPin* pin) { #if SPARK_EXTREME_LOGGING - efiPrintf("fireTrailingSpark %s", pin->name); + efiPrintf("fireTrailingSpark %s", pin->getName()); #endif /* SPARK_EXTREME_LOGGING */ pin->setLow(); } static void overFireSparkAndPrepareNextSchedule(IgnitionEvent *event) { #if SPARK_EXTREME_LOGGING - efiPrintf("overFireSparkAndPrepareNextSchedule %s", event->outputs[0]->name); + efiPrintf("overFireSparkAndPrepareNextSchedule %s", event->outputs[0]->getName()); #endif /* SPARK_EXTREME_LOGGING */ fireSparkAndPrepareNextSchedule(event); } @@ -254,8 +254,8 @@ static void startDwellByTurningSparkPinHigh(IgnitionEvent *event, IgnitionOutput #if SPARK_EXTREME_LOGGING - efiPrintf("spark goes high %d %s %d current=%d cnt=%d id=%d", getRevolutionCounter(), output->name, (int)getTimeNowUs(), - output->currentLogicValue, output->outOfOrder, event->sparkId); + efiPrintf("spark goes high %d %s %d current=%d cnt=%d id=%d", getRevolutionCounter(), output->getName(), (int)getTimeNowUs(), + output->m_currentLogicValue, output->outOfOrder, event->sparkId); #endif /* SPARK_EXTREME_LOGGING */ if (output->outOfOrder) { @@ -327,7 +327,7 @@ static void scheduleSparkEvent(bool limitedSpark, IgnitionEvent *event, */ if (!limitedSpark) { #if SPARK_EXTREME_LOGGING - efiPrintf("scheduling sparkUp %d %s now=%d %d later id=%d", getRevolutionCounter(), event->getOutputForLoggins()->name, (int)getTimeNowUs(), (int)angleOffset, + efiPrintf("scheduling sparkUp %d %s now=%d %d later id=%d", getRevolutionCounter(), event->getOutputForLoggins()->getName(), (int)getTimeNowUs(), (int)angleOffset, event->sparkId); #endif /* SPARK_EXTREME_LOGGING */ @@ -359,11 +359,11 @@ static void scheduleSparkEvent(bool limitedSpark, IgnitionEvent *event, if (scheduled) { #if SPARK_EXTREME_LOGGING - efiPrintf("scheduling sparkDown %d %s now=%d later id=%d", getRevolutionCounter(), event->getOutputForLoggins()->name, (int)getTimeNowUs(), event->sparkId); + efiPrintf("scheduling sparkDown %d %s now=%d later id=%d", getRevolutionCounter(), event->getOutputForLoggins()->getName(), (int)getTimeNowUs(), event->sparkId); #endif /* FUEL_MATH_EXTREME_LOGGING */ } else { #if SPARK_EXTREME_LOGGING - efiPrintf("to queue sparkDown %d %s now=%d for id=%d angle=%.1f", getRevolutionCounter(), event->getOutputForLoggins()->name, (int)getTimeNowUs(), event->sparkId, sparkAngle); + efiPrintf("to queue sparkDown %d %s now=%d for id=%d angle=%.1f", getRevolutionCounter(), event->getOutputForLoggins()->getName(), (int)getTimeNowUs(), event->sparkId, sparkAngle); #endif /* SPARK_EXTREME_LOGGING */ if (!limitedSpark && engine->enableOverdwellProtection) { diff --git a/firmware/controllers/flash_main.cpp b/firmware/controllers/flash_main.cpp index 167e7dcaeb..34b8b4fbd2 100644 --- a/firmware/controllers/flash_main.cpp +++ b/firmware/controllers/flash_main.cpp @@ -98,7 +98,7 @@ static void flashWriteThread(void*) { } #endif // EFI_FLASH_WRITE_THREAD -void setNeedToWriteConfiguration(void) { +void setNeedToWriteConfiguration() { efiPrintf("Scheduling configuration write"); needToWriteConfiguration = true; @@ -110,7 +110,7 @@ void setNeedToWriteConfiguration(void) { #endif // EFI_FLASH_WRITE_THREAD } -bool getNeedToWriteConfiguration(void) { +bool getNeedToWriteConfiguration() { return needToWriteConfiguration; } @@ -154,7 +154,7 @@ int eraseAndFlashCopy(flashaddr_t storageAddress, const TStorage& data) { bool burnWithoutFlash = false; -void writeToFlashNow(void) { +void writeToFlashNow() { engine->configBurnTimer.reset(); bool isSuccess = false; @@ -318,7 +318,6 @@ void readFromFlash() { // we can only change the state after the CRC check engineConfiguration->byFirmwareVersion = getRusEfiVersion(); - memset(persistentState.persistentConfiguration.warning_message , 0, ERROR_BUFFER_SIZE); validateConfiguration(); } diff --git a/firmware/controllers/flash_main.h b/firmware/controllers/flash_main.h index 1667dfc5dc..bc7f4ed1b9 100644 --- a/firmware/controllers/flash_main.h +++ b/firmware/controllers/flash_main.h @@ -17,10 +17,10 @@ void initFlash(); * about 1-2 seconds, we cannot afford to do that while the engine is * running so we postpone the write until the engine is stopped. */ -void writeToFlashNow(void); -void setNeedToWriteConfiguration(void); +void writeToFlashNow(); +void setNeedToWriteConfiguration(); /** * @return true if an flash write is pending */ -bool getNeedToWriteConfiguration(void); -void writeToFlashIfPending(void); +bool getNeedToWriteConfiguration(); +void writeToFlashIfPending(); diff --git a/firmware/controllers/gauges/speedometer.cpp b/firmware/controllers/gauges/speedometer.cpp new file mode 100644 index 0000000000..23f51c4962 --- /dev/null +++ b/firmware/controllers/gauges/speedometer.cpp @@ -0,0 +1,39 @@ +#include "pch.h" + +#include "speedometer.h" + +static SimplePwm speedoPwm("speedo"); + +static bool hasSpeedoInit = false; + +void speedoUpdate() { + if (!hasSpeedoInit) { + return; + } + + float kph = Sensor::getOrZero(SensorType::VehicleSpeed); + float kps = kph * (1. / 3600); + float freq = kps * engineConfiguration->speedometerPulsePerKm; + + if (freq < 1) { + freq = NAN; + } + + speedoPwm.setFrequency(freq); +} + +void initSpeedometer() { + hasSpeedoInit = false; + + if (!isBrainPinValid(engineConfiguration->speedometerOutputPin)) { + return; + } + + startSimplePwm(&speedoPwm, + "Speedometer", + &engine->executor, + &enginePins.speedoOut, + NAN, 0.5f); + + hasSpeedoInit = true; +} diff --git a/firmware/controllers/gauges/speedometer.h b/firmware/controllers/gauges/speedometer.h new file mode 100644 index 0000000000..8b6d2ae9b2 --- /dev/null +++ b/firmware/controllers/gauges/speedometer.h @@ -0,0 +1,4 @@ +#pragma once + +void initSpeedometer(); +void speedoUpdate(); diff --git a/firmware/controllers/gauges/tachometer.cpp b/firmware/controllers/gauges/tachometer.cpp index 615ee13299..1675fcce0d 100644 --- a/firmware/controllers/gauges/tachometer.cpp +++ b/firmware/controllers/gauges/tachometer.cpp @@ -28,7 +28,7 @@ float getTachDuty() { static bool tachHasInit = false; -void tachSignalCallback() { +void tachUpdate() { // Only do anything if tach enabled if (!tachHasInit) { return; @@ -60,12 +60,13 @@ void tachSignalCallback() { tachFreq = NAN; } - tachControl.setSimplePwmDutyCycle(duty); + tachControl.setSimplePwmDutyCycle(duty); tachControl.setFrequency(tachFreq); } void initTachometer() { tachHasInit = false; + if (!isBrainPinValid(engineConfiguration->tachOutputPin)) { return; } diff --git a/firmware/controllers/gauges/tachometer.h b/firmware/controllers/gauges/tachometer.h index 86d6941cb6..c285d59513 100644 --- a/firmware/controllers/gauges/tachometer.h +++ b/firmware/controllers/gauges/tachometer.h @@ -8,4 +8,4 @@ #pragma once void initTachometer(); -void tachSignalCallback(); +void tachUpdate(); diff --git a/firmware/controllers/generated/engine_configuration_generated_structures.h b/firmware/controllers/generated/engine_configuration_generated_structures.h index 82821e113b..0398d57574 100644 --- a/firmware/controllers/generated/engine_configuration_generated_structures.h +++ b/firmware/controllers/generated/engine_configuration_generated_structures.h @@ -413,7 +413,7 @@ struct engine_configuration_s { // offset 88 bit 10 bool isDoubleSolenoidIdle : 1 {}; // offset 88 bit 11 - bool useEeprom : 1 {}; + bool unused88b11 : 1 {}; // offset 88 bit 12 bool useTLE8888_cranking_hack : 1 {}; // offset 88 bit 13 @@ -435,7 +435,7 @@ struct engine_configuration_s { bool useTLE8888_stepper : 1 {}; // offset 88 bit 20 bool usescriptTableForCanSniffingFiltering : 1 {}; - // Print incoming and outgoing first bus CAN messages in rusEFI console + // Print incoming and outgoing first bus CAN messages in FOME console // offset 88 bit 21 bool verboseCan : 1 {}; // Experimental setting that will cause a misfire @@ -505,6 +505,7 @@ struct engine_configuration_s { int launchTimingRetard; // We calculate knock band based of cylinderBore // Use this to override - kHz knock band override + // Requires power cycling to effect // kHz // offset 324 float knockBandCustom; @@ -520,8 +521,9 @@ struct engine_configuration_s { uint32_t cylindersCount; // offset 336 firing_order_e firingOrder; + // deg // offset 337 - uint8_t unusedOldBenchTest; + uint8_t vvtBumpAmount; // Duration of each test pulse // ms // offset 338 @@ -858,7 +860,7 @@ struct engine_configuration_s { // enable sd/disable sd // offset 644 bit 3 bool isSdCardEnabled : 1 {}; - // Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + // Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format. // offset 644 bit 4 bool rusefiVerbose29b : 1 {}; // offset 644 bit 5 @@ -870,7 +872,7 @@ struct engine_configuration_s { bool enabledStep1Limiter : 1 {}; // offset 644 bit 8 bool verboseTLE8888 : 1 {}; - // CAN broadcast using custom rusEFI protocol + // CAN broadcast using custom FOME protocol // enable can_broadcast/disable can_broadcast // offset 644 bit 9 bool enableVerboseCanTx : 1 {}; @@ -1049,7 +1051,7 @@ struct engine_configuration_s { // offset 752 output_pin_e acRelayPin; // offset 754 - maf_sensor_type_e mafSensorType; + uint8_t unused754; // offset 755 spi_device_e drv8860spiDevice; // offset 756 @@ -1094,7 +1096,7 @@ struct engine_configuration_s { // offset 808 bit 6 bool enableInnovateLC2 : 1 {}; // offset 808 bit 7 - bool showHumanReadableWarning : 1 {}; + bool unused808b7 : 1 {}; // If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. // offset 808 bit 8 bool stftIgnoreErrorMagnitude : 1 {}; @@ -1107,8 +1109,9 @@ struct engine_configuration_s { // get invertCamVVTSignal // offset 808 bit 11 bool invertCamVVTSignal : 1 {}; + // In Alpha-N mode, compensate for air temperature. // offset 808 bit 12 - bool unused804b12 : 1 {}; + bool alphaNUseIat : 1 {}; // offset 808 bit 13 bool knockBankCyl1 : 1 {}; // offset 808 bit 14 @@ -1140,7 +1143,7 @@ struct engine_configuration_s { // If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss // offset 808 bit 27 bool useRawOutputToDriveIdleStepper : 1 {}; - // Print incoming and outgoing second bus CAN messages in rusEFI console + // Print incoming and outgoing second bus CAN messages in FOME console // offset 808 bit 28 bool verboseCan2 : 1 {}; // offset 808 bit 29 @@ -1204,16 +1207,13 @@ struct engine_configuration_s { // offset 920 dc_io stepperDcIo[DC_PER_STEPPER]; // For example, BMW, GM or Chevrolet - // REQUIRED for rusEFI Online // offset 936 vehicle_info_t engineMake; // For example, LS1 or NB2 - // REQUIRED for rusEFI Online // offset 968 vehicle_info_t engineCode; // For example, Hunchback or Orange Miata // Vehicle name has to be unique between your vehicles. - // REQUIRED for rusEFI Online // offset 1000 vehicle_info_t vehicleName; // offset 1032 @@ -1253,10 +1253,8 @@ struct engine_configuration_s { // Enables lambda sensor closed loop feedback for fuelling. // offset 1192 bit 1 bool fuelClosedLoopCorrectionEnabled : 1 {}; - // Print details into rusEFI console - // enable verbose_idle // offset 1192 bit 2 - bool isVerboseIAC : 1 {}; + bool unused1192b2 : 1 {}; // offset 1192 bit 3 bool boardUseTachPullUp : 1 {}; // offset 1192 bit 4 @@ -1284,12 +1282,10 @@ struct engine_configuration_s { // This enables smart alternator control and activates the extra alternator settings. // offset 1192 bit 13 bool isAlternatorControlEnabled : 1 {}; - // https://wiki.rusefi.com/Trigger-Configuration-Guide - // This setting flips the signal from the primary engine speed sensor. + // Invert the signal from the primary trigger sensor. // offset 1192 bit 14 bool invertPrimaryTriggerSignal : 1 {}; - // https://wiki.rusefi.com/Trigger-Configuration-Guide - // This setting flips the signal from the secondary engine speed sensor. + // Invert the signal from the secondary trigger sensor. // offset 1192 bit 15 bool invertSecondaryTriggerSignal : 1 {}; // offset 1192 bit 16 @@ -1591,7 +1587,7 @@ struct engine_configuration_s { // Sets what part of injection's is controlled by the injection phase table. // offset 1401 InjectionTimingMode injectionTimingMode; - // See http://rusefi.com/s/debugmode + // See https://wiki.fome.tech/r/debugmode // offset 1402 debug_mode_e debugMode; // Additional idle % when fan #1 is active @@ -2355,11 +2351,52 @@ struct engine_configuration_s { // ms // offset 3602 scaled_channel ignTestOffTime; - // units // offset 3603 - uint8_t mainUnusedEnd[93]; + uint8_t alignmentFill_at_3603[1]; + // Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. + // ratio + // offset 3604 + scaled_channel canVssScaling; + // offset 3606 + uint8_t alignmentFill_at_3606[2]; + // offset 3608 + ThermistorConf oilTempSensor; + // offset 3640 + ThermistorConf fuelTempSensor; + // offset 3672 + ThermistorConf ambientTempSensor; + // offset 3704 + ThermistorConf compressorDischargeTemperature; + // Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor. + // offset 3736 + adc_channel_e throttleInletPressureChannel; + // Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor. + // offset 3737 + adc_channel_e compressorDischargePressureChannel; + // If injector duty cycle hits this value, instantly cut fuel. + // % + // offset 3738 + uint8_t maxInjectorDutyInstant; + // If injector duty cycle hits this value for the specified delay time, cut fuel. + // % + // offset 3739 + uint8_t maxInjectorDutySustained; + // Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. + // sec + // offset 3740 + scaled_channel maxInjectorDutySustainedTimeout; + // offset 3741 + uint8_t alignmentFill_at_3741[1]; + // offset 3742 + output_pin_e speedometerOutputPin; + // Number of speedometer pulses per kilometer travelled. + // offset 3744 + uint16_t speedometerPulsePerKm; + // units + // offset 3746 + uint8_t mainUnusedEnd[246]; }; -static_assert(sizeof(engine_configuration_s) == 3696); +static_assert(sizeof(engine_configuration_s) == 3992); struct cyl_trim_s { // offset 0 @@ -2396,461 +2433,459 @@ struct persistent_config_s { // target TPS value, 0 to 100% // TODO: use int8 data date once we template interpolation method // target TPS position - // offset 3696 + // offset 3992 float etbBiasBins[ETB_BIAS_CURVE_LENGTH]; // PWM bias, 0 to 100% // ETB duty cycle bias - // offset 3728 + // offset 4024 float etbBiasValues[ETB_BIAS_CURVE_LENGTH]; // % - // offset 3760 + // offset 4056 scaled_channel iacPidMultTable[IAC_PID_MULT_SIZE][IAC_PID_MULT_SIZE]; // Load - // offset 3824 + // offset 4120 uint8_t iacPidMultLoadBins[IAC_PID_MULT_SIZE]; // RPM - // offset 3832 + // offset 4128 scaled_channel iacPidMultRpmBins[IAC_PID_MULT_SIZE]; // On Single Coil or Wasted Spark setups you have to lower dwell at high RPM // RPM - // offset 3840 + // offset 4136 uint16_t sparkDwellRpmBins[DWELL_CURVE_SIZE]; // ms - // offset 3856 + // offset 4152 scaled_channel sparkDwellValues[DWELL_CURVE_SIZE]; // CLT-based target RPM for automatic idle controller // C - // offset 3872 + // offset 4168 scaled_channel cltIdleRpmBins[CLT_CURVE_SIZE]; // See idleRpmPid // RPM - // offset 3888 + // offset 4184 scaled_channel cltIdleRpm[CLT_CURVE_SIZE]; // CLT-based timing correction // C - // offset 3904 + // offset 4200 float cltTimingBins[CLT_TIMING_CURVE_SIZE]; // degree - // offset 3936 + // offset 4232 float cltTimingExtra[CLT_TIMING_CURVE_SIZE]; // x - // offset 3968 + // offset 4264 float scriptCurve1Bins[SCRIPT_CURVE_16]; // y - // offset 4032 + // offset 4328 float scriptCurve1[SCRIPT_CURVE_16]; // x - // offset 4096 + // offset 4392 float scriptCurve2Bins[SCRIPT_CURVE_16]; // y - // offset 4160 + // offset 4456 float scriptCurve2[SCRIPT_CURVE_16]; // x - // offset 4224 + // offset 4520 float scriptCurve3Bins[SCRIPT_CURVE_8]; // y - // offset 4256 + // offset 4552 float scriptCurve3[SCRIPT_CURVE_8]; // x - // offset 4288 + // offset 4584 float scriptCurve4Bins[SCRIPT_CURVE_8]; // y - // offset 4320 + // offset 4616 float scriptCurve4[SCRIPT_CURVE_8]; // x - // offset 4352 + // offset 4648 float scriptCurve5Bins[SCRIPT_CURVE_8]; // y - // offset 4384 + // offset 4680 float scriptCurve5[SCRIPT_CURVE_8]; // x - // offset 4416 + // offset 4712 float scriptCurve6Bins[SCRIPT_CURVE_8]; // y - // offset 4448 + // offset 4744 float scriptCurve6[SCRIPT_CURVE_8]; // kPa - // offset 4480 + // offset 4776 float baroCorrPressureBins[BARO_CORR_SIZE]; // RPM - // offset 4496 + // offset 4792 float baroCorrRpmBins[BARO_CORR_SIZE]; // ratio - // offset 4512 + // offset 4808 float baroCorrTable[BARO_CORR_SIZE][BARO_CORR_SIZE]; // Cranking fuel correction coefficient based on TPS // Ratio - // offset 4576 + // offset 4872 float crankingTpsCoef[CRANKING_CURVE_SIZE]; // % - // offset 4608 + // offset 4904 float crankingTpsBins[CRANKING_CURVE_SIZE]; // Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) // RPM - // offset 4640 + // offset 4936 uint16_t crankingAdvanceBins[CRANKING_ADVANCE_CURVE_SIZE]; // Optional timing advance table for Cranking (see useSeparateAdvanceForCranking) // deg - // offset 4648 + // offset 4944 scaled_channel crankingAdvance[CRANKING_ADVANCE_CURVE_SIZE]; // RPM-based idle position for coasting // RPM - // offset 4656 + // offset 4952 scaled_channel iacCoastingRpmBins[CLT_CURVE_SIZE]; // RPM-based idle position for coasting // % - // offset 4672 + // offset 4968 scaled_channel iacCoasting[CLT_CURVE_SIZE]; - // offset 4688 - error_message_t warning_message; // C - // offset 4808 + // offset 4984 float afterstartCoolantBins[AFTERSTART_HOLD_CURVE_SIZE]; // Seconds - // offset 4840 + // offset 5016 float afterstartHoldTime[AFTERSTART_HOLD_CURVE_SIZE]; // % - // offset 4872 + // offset 5048 float afterstartEnrich[AFTERSTART_ENRICH_CURVE_SIZE]; // Seconds - // offset 4904 + // offset 5080 float afterstartDecayTime[AFTERSTART_DECAY_CURVE_SIZE]; - // offset 4936 + // offset 5112 scaled_channel boostTableOpenLoop[BOOST_RPM_COUNT][BOOST_LOAD_COUNT]; // RPM - // offset 5000 + // offset 5176 scaled_channel boostRpmBins[BOOST_RPM_COUNT]; - // offset 5008 + // offset 5184 scaled_channel boostTableClosedLoop[BOOST_RPM_COUNT][BOOST_LOAD_COUNT]; // % - // offset 5072 + // offset 5248 uint8_t boostTpsBins[BOOST_LOAD_COUNT]; // % - // offset 5080 + // offset 5256 uint8_t pedalToTpsTable[PEDAL_TO_TPS_SIZE][PEDAL_TO_TPS_SIZE]; // % - // offset 5144 + // offset 5320 uint8_t pedalToTpsPedalBins[PEDAL_TO_TPS_SIZE]; // RPM - // offset 5152 + // offset 5328 scaled_channel pedalToTpsRpmBins[PEDAL_TO_TPS_SIZE]; // CLT-based cranking position multiplier for simple manual idle controller // C - // offset 5160 + // offset 5336 float cltCrankingCorrBins[CLT_CRANKING_CURVE_SIZE]; // CLT-based cranking position multiplier for simple manual idle controller // % - // offset 5192 + // offset 5368 float cltCrankingCorr[CLT_CRANKING_CURVE_SIZE]; // Optional timing advance table for Idle (see useSeparateAdvanceForIdle) // RPM - // offset 5224 + // offset 5400 scaled_channel idleAdvanceBins[IDLE_ADVANCE_CURVE_SIZE]; // Optional timing advance table for Idle (see useSeparateAdvanceForIdle) // deg - // offset 5232 + // offset 5408 float idleAdvance[IDLE_ADVANCE_CURVE_SIZE]; // RPM - // offset 5264 + // offset 5440 scaled_channel idleVeRpmBins[IDLE_VE_SIZE]; // load - // offset 5268 + // offset 5444 uint8_t idleVeLoadBins[IDLE_VE_SIZE]; // % - // offset 5272 + // offset 5448 scaled_channel idleVeTable[IDLE_VE_SIZE][IDLE_VE_SIZE]; - // offset 5304 + // offset 5480 lua_script_t luaScript; // C - // offset 13304 + // offset 13480 float cltFuelCorrBins[CLT_CURVE_SIZE]; // ratio - // offset 13368 + // offset 13544 float cltFuelCorr[CLT_CURVE_SIZE]; // C - // offset 13432 + // offset 13608 float iatFuelCorrBins[IAT_CURVE_SIZE]; // ratio - // offset 13496 + // offset 13672 float iatFuelCorr[IAT_CURVE_SIZE]; // ratio - // offset 13560 + // offset 13736 float crankingFuelCoef[CRANKING_CURVE_SIZE]; // C - // offset 13592 + // offset 13768 float crankingFuelBins[CRANKING_CURVE_SIZE]; // ratio - // offset 13624 + // offset 13800 float crankingCycleCoef[CRANKING_CURVE_SIZE]; // counter - // offset 13656 + // offset 13832 float crankingCycleBins[CRANKING_CURVE_SIZE]; // CLT-based idle position multiplier for simple manual idle controller // C - // offset 13688 + // offset 13864 float cltIdleCorrBins[CLT_CURVE_SIZE]; // CLT-based idle position multiplier for simple manual idle controller // ratio - // offset 13752 + // offset 13928 float cltIdleCorr[CLT_CURVE_SIZE]; // Also known as MAF transfer function. // kg/hour value. // By the way 2.081989116 kg/h = 1 ft3/m // kg/hour - // offset 13816 + // offset 13992 float mafDecoding[MAF_DECODING_COUNT]; // V - // offset 14840 + // offset 15016 float mafDecodingBins[MAF_DECODING_COUNT]; // deg - // offset 15864 + // offset 16040 scaled_channel ignitionIatCorrTable[8][8]; // C - // offset 15928 + // offset 16104 int8_t ignitionIatCorrTempBins[8]; // Load - // offset 15936 + // offset 16112 scaled_channel ignitionIatCorrLoadBins[8]; // deg - // offset 15944 + // offset 16120 int16_t injectionPhase[IGN_RPM_COUNT][IGN_LOAD_COUNT]; // Load - // offset 16456 + // offset 16632 uint16_t injPhaseLoadBins[FUEL_LOAD_COUNT]; // RPM - // offset 16488 + // offset 16664 uint16_t injPhaseRpmBins[FUEL_RPM_COUNT]; // onoff - // offset 16520 + // offset 16696 uint8_t tcuSolenoidTable[TCU_SOLENOID_COUNT][TCU_GEAR_COUNT]; // kPa - // offset 16580 + // offset 16756 scaled_channel mapEstimateTable[FUEL_RPM_COUNT][FUEL_LOAD_COUNT]; // % TPS - // offset 17092 + // offset 17268 scaled_channel mapEstimateTpsBins[FUEL_LOAD_COUNT]; // RPM - // offset 17124 + // offset 17300 uint16_t mapEstimateRpmBins[FUEL_RPM_COUNT]; // value - // offset 17156 + // offset 17332 int8_t vvtTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; // L - // offset 17220 + // offset 17396 uint16_t vvtTable1LoadBins[SCRIPT_TABLE_8]; // RPM - // offset 17236 + // offset 17412 uint16_t vvtTable1RpmBins[SCRIPT_TABLE_8]; // value - // offset 17252 + // offset 17428 int8_t vvtTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; // L - // offset 17316 + // offset 17492 uint16_t vvtTable2LoadBins[SCRIPT_TABLE_8]; // RPM - // offset 17332 + // offset 17508 uint16_t vvtTable2RpmBins[SCRIPT_TABLE_8]; // deg - // offset 17348 + // offset 17524 scaled_channel ignitionTable[IGN_RPM_COUNT][IGN_LOAD_COUNT]; // Load - // offset 17860 + // offset 18036 uint16_t ignitionLoadBins[IGN_LOAD_COUNT]; // RPM - // offset 17892 + // offset 18068 uint16_t ignitionRpmBins[IGN_RPM_COUNT]; // % - // offset 17924 + // offset 18100 scaled_channel veTable[FUEL_RPM_COUNT][FUEL_LOAD_COUNT]; // kPa - // offset 18436 + // offset 18612 uint16_t veLoadBins[FUEL_LOAD_COUNT]; // RPM - // offset 18468 + // offset 18644 uint16_t veRpmBins[FUEL_RPM_COUNT]; // lambda - // offset 18500 + // offset 18676 scaled_channel lambdaTable[FUEL_RPM_COUNT][FUEL_LOAD_COUNT]; - // offset 18756 + // offset 18932 uint16_t lambdaLoadBins[FUEL_LOAD_COUNT]; // RPM - // offset 18788 + // offset 18964 uint16_t lambdaRpmBins[FUEL_RPM_COUNT]; // value - // offset 18820 + // offset 18996 float tpsTpsAccelTable[TPS_TPS_ACCEL_TABLE][TPS_TPS_ACCEL_TABLE]; // from - // offset 19076 + // offset 19252 float tpsTpsAccelFromRpmBins[TPS_TPS_ACCEL_TABLE]; // to - // offset 19108 + // offset 19284 float tpsTpsAccelToRpmBins[TPS_TPS_ACCEL_TABLE]; // value - // offset 19140 + // offset 19316 float scriptTable1[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; // L - // offset 19396 + // offset 19572 int16_t scriptTable1LoadBins[SCRIPT_TABLE_8]; // RPM - // offset 19412 + // offset 19588 int16_t scriptTable1RpmBins[SCRIPT_TABLE_8]; // value - // offset 19428 + // offset 19604 uint8_t scriptTable2[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; // L - // offset 19492 + // offset 19668 int16_t scriptTable2LoadBins[SCRIPT_TABLE_8]; // RPM - // offset 19508 + // offset 19684 int16_t scriptTable2RpmBins[SCRIPT_TABLE_8]; // value - // offset 19524 + // offset 19700 uint8_t scriptTable3[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; // L - // offset 19588 + // offset 19764 int16_t scriptTable3LoadBins[SCRIPT_TABLE_8]; // RPM - // offset 19604 + // offset 19780 int16_t scriptTable3RpmBins[SCRIPT_TABLE_8]; // value - // offset 19620 + // offset 19796 uint8_t scriptTable4[SCRIPT_TABLE_8][SCRIPT_TABLE_8]; // L - // offset 19684 + // offset 19860 int16_t scriptTable4LoadBins[SCRIPT_TABLE_8]; // RPM - // offset 19700 + // offset 19876 int16_t scriptTable4RpmBins[SCRIPT_TABLE_8]; - // offset 19716 + // offset 19892 uint16_t ignTrimLoadBins[TRIM_SIZE]; // rpm - // offset 19724 + // offset 19900 uint16_t ignTrimRpmBins[TRIM_SIZE]; - // offset 19732 + // offset 19908 cyl_trim_s ignTrims[12]; - // offset 19924 + // offset 20100 uint16_t fuelTrimLoadBins[TRIM_SIZE]; // rpm - // offset 19932 + // offset 20108 uint16_t fuelTrimRpmBins[TRIM_SIZE]; - // offset 19940 + // offset 20116 cyl_trim_s fuelTrims[12]; // ratio - // offset 20132 + // offset 20308 scaled_channel crankingFuelCoefE100[CRANKING_CURVE_SIZE]; // Airmass - // offset 20148 + // offset 20324 scaled_channel tcu_pcAirmassBins[TCU_MAGIC_SIZE]; // % - // offset 20156 + // offset 20332 uint8_t tcu_pcValsR[TCU_MAGIC_SIZE]; // % - // offset 20164 + // offset 20340 uint8_t tcu_pcValsN[TCU_MAGIC_SIZE]; // % - // offset 20172 + // offset 20348 uint8_t tcu_pcVals1[TCU_MAGIC_SIZE]; // % - // offset 20180 + // offset 20356 uint8_t tcu_pcVals2[TCU_MAGIC_SIZE]; // % - // offset 20188 + // offset 20364 uint8_t tcu_pcVals3[TCU_MAGIC_SIZE]; // % - // offset 20196 + // offset 20372 uint8_t tcu_pcVals4[TCU_MAGIC_SIZE]; // % - // offset 20204 + // offset 20380 uint8_t tcu_pcVals12[TCU_MAGIC_SIZE]; // % - // offset 20212 + // offset 20388 uint8_t tcu_pcVals23[TCU_MAGIC_SIZE]; // % - // offset 20220 + // offset 20396 uint8_t tcu_pcVals34[TCU_MAGIC_SIZE]; // % - // offset 20228 + // offset 20404 uint8_t tcu_pcVals21[TCU_MAGIC_SIZE]; // % - // offset 20236 + // offset 20412 uint8_t tcu_pcVals32[TCU_MAGIC_SIZE]; // % - // offset 20244 + // offset 20420 uint8_t tcu_pcVals43[TCU_MAGIC_SIZE]; // TPS - // offset 20252 + // offset 20428 uint8_t tcu_tccTpsBins[8]; // MPH - // offset 20260 + // offset 20436 uint8_t tcu_tccLockSpeed[8]; // MPH - // offset 20268 + // offset 20444 uint8_t tcu_tccUnlockSpeed[8]; // KPH - // offset 20276 + // offset 20452 uint8_t tcu_32SpeedBins[8]; // % - // offset 20284 + // offset 20460 uint8_t tcu_32Vals[8]; // % - // offset 20292 + // offset 20468 scaled_channel throttle2TrimTable[6][6]; // % - // offset 20328 + // offset 20504 uint8_t throttle2TrimTpsBins[6]; // RPM - // offset 20334 + // offset 20510 scaled_channel throttle2TrimRpmBins[6]; // deg - // offset 20340 + // offset 20516 scaled_channel maxKnockRetardTable[6][6]; // % - // offset 20376 + // offset 20552 uint8_t maxKnockRetardLoadBins[6]; // RPM - // offset 20382 + // offset 20558 scaled_channel maxKnockRetardRpmBins[6]; // deg - // offset 20388 + // offset 20564 scaled_channel ALSTimingRetardTable[4][4]; // TPS - // offset 20420 + // offset 20596 uint16_t alsIgnRetardLoadBins[4]; // RPM - // offset 20428 + // offset 20604 uint16_t alsIgnRetardrpmBins[4]; // percent - // offset 20436 + // offset 20612 scaled_channel ALSFuelAdjustment[4][4]; // TPS - // offset 20468 + // offset 20644 uint16_t alsFuelAdjustmentLoadBins[4]; // RPM - // offset 20476 + // offset 20652 uint16_t alsFuelAdjustmentrpmBins[4]; - // offset 20484 + // offset 20660 blend_table_s ignBlends[IGN_BLEND_COUNT]; - // offset 21236 + // offset 21412 blend_table_s veBlends[VE_BLEND_COUNT]; // % - // offset 21988 + // offset 22164 scaled_channel throttleEstimateEffectiveAreaBins[12]; // In units of g/s normalized to choked flow conditions // g/s - // offset 22012 + // offset 22188 scaled_channel throttleEstimateEffectiveAreaValues[12]; - // offset 22036 + // offset 22212 blend_table_s boostOpenLoopBlends[BOOST_BLEND_COUNT]; - // offset 22412 + // offset 22588 blend_table_s boostClosedLoopBlends[BOOST_BLEND_COUNT]; // lambda - // offset 22788 + // offset 22964 scaled_channel lambdaMaxDeviationTable[4][4]; - // offset 22804 + // offset 22980 uint16_t lambdaMaxDeviationLoadBins[4]; // RPM - // offset 22812 + // offset 22988 uint16_t lambdaMaxDeviationRpmBins[4]; }; -static_assert(sizeof(persistent_config_s) == 22820); +static_assert(sizeof(persistent_config_s) == 22996); diff --git a/firmware/controllers/generated/rusefi_generated.h b/firmware/controllers/generated/rusefi_generated.h index 171afd0e47..6f3fb938f1 100644 --- a/firmware/controllers/generated/rusefi_generated.h +++ b/firmware/controllers/generated/rusefi_generated.h @@ -81,6 +81,10 @@ #define bench_mode_e_BENCH_SECOND_IDLE_VALVE 13 #define bench_mode_e_BENCH_STARTER_DISABLE_RELAY 2 #define bench_mode_e_BENCH_STARTER_ENABLE_RELAY 1 +#define bench_mode_e_BENCH_VVT_1_TARGET_BUMP 17 +#define bench_mode_e_BENCH_VVT_2_TARGET_BUMP 18 +#define bench_mode_e_BENCH_VVT_3_TARGET_BUMP 19 +#define bench_mode_e_BENCH_VVT_4_TARGET_BUMP 20 #define blend_table_s_size 188 #define BLOCKING_FACTOR 750 #define BOOST_BLEND_COUNT 2 @@ -194,17 +198,23 @@ #define dc_function_e_DC_Wastegate 3 #define dc_io_size 8 #define DC_PER_STEPPER 2 -#define debug_mode_e_auto_enum 0="DBG_0",10="DBG_10",11="DBG_11",16="DBG_16",2="DBG_2",20="DBG_20",24="DBG_24",25="DBG_25",26="DBG_26",29="DBG_29",34="DBG_34",35="DBG_35",36="DBG_36",37="DBG_37",38="DBG_38",43="DBG_43",46="DBG_46",7="DBG_7",8="DBG_8",9="DBG_9",21="DBG_ANALOG_INPUTS",32="DBG_ANALOG_INPUTS2",19="DBG_BENCH_TEST",40="DBG_COMPOSITE_LOG",33="DBG_DWELL_METRIC",44="DBG_DYNO_VIEW",17="DBG_ELECTRONIC_THROTTLE_PID",4="DBG_EL_ACCEL",39="DBG_ETB_AUTOTUNE",18="DBG_EXECUTOR",22="DBG_INSTANT_RPM",30="DBG_ION",15="DBG_KNOCK",45="DBG_LOGIC_ANALYZER",48="DBG_LUA",27="DBG_MAP",28="DBG_METRICS",13="DBG_SD_CARD",6="DBG_SOFT_SPARK_CUT",14="DBG_SR5_PROTOCOL",3="DBG_STEPPER_IDLE_CONTROL",47="DBG_TCU",31="DBG_TLE8888",1="DBG_TPS_ACCEL",5="DBG_TRIGGER_COUNTERS",12="DBG_UNUSED12",41="DBG_UNUSED41",42="DBG_UNUSED_42",23="UNUSED23" +#define debug_mode_e_auto_enum 0="DBG_0",10="DBG_10",11="DBG_11",12="DBG_12",13="DBG_13",15="DBG_15",16="DBG_16",19="DBG_19",2="DBG_2",20="DBG_20",21="DBG_21",24="DBG_24",25="DBG_25",26="DBG_26",29="DBG_29",32="DBG_32",34="DBG_34",35="DBG_35",36="DBG_36",37="DBG_37",38="DBG_38",43="DBG_43",46="DBG_46",6="DBG_6",7="DBG_7",8="DBG_8",9="DBG_9",40="DBG_COMPOSITE_LOG",33="DBG_DWELL_METRIC",44="DBG_DYNO_VIEW",17="DBG_ELECTRONIC_THROTTLE_PID",4="DBG_EL_ACCEL",39="DBG_ETB_AUTOTUNE",18="DBG_EXECUTOR",22="DBG_INSTANT_RPM",30="DBG_ION",45="DBG_LOGIC_ANALYZER",48="DBG_LUA",27="DBG_MAP",28="DBG_METRICS",14="DBG_SR5_PROTOCOL",3="DBG_STEPPER_IDLE_CONTROL",47="DBG_TCU",31="DBG_TLE8888",1="DBG_TPS_ACCEL",5="DBG_TRIGGER_COUNTERS",41="DBG_UNUSED41",42="DBG_UNUSED_42",23="UNUSED23" #define debug_mode_e_DBG_0 0 #define debug_mode_e_DBG_10 10 #define debug_mode_e_DBG_11 11 +#define debug_mode_e_DBG_12 12 +#define debug_mode_e_DBG_13 13 +#define debug_mode_e_DBG_15 15 #define debug_mode_e_DBG_16 16 +#define debug_mode_e_DBG_19 19 #define debug_mode_e_DBG_2 2 #define debug_mode_e_DBG_20 20 +#define debug_mode_e_DBG_21 21 #define debug_mode_e_DBG_24 24 #define debug_mode_e_DBG_25 25 #define debug_mode_e_DBG_26 26 #define debug_mode_e_DBG_29 29 +#define debug_mode_e_DBG_32 32 #define debug_mode_e_DBG_34 34 #define debug_mode_e_DBG_35 35 #define debug_mode_e_DBG_36 36 @@ -212,12 +222,10 @@ #define debug_mode_e_DBG_38 38 #define debug_mode_e_DBG_43 43 #define debug_mode_e_DBG_46 46 +#define debug_mode_e_DBG_6 6 #define debug_mode_e_DBG_7 7 #define debug_mode_e_DBG_8 8 #define debug_mode_e_DBG_9 9 -#define debug_mode_e_DBG_ANALOG_INPUTS 21 -#define debug_mode_e_DBG_ANALOG_INPUTS2 32 -#define debug_mode_e_DBG_BENCH_TEST 19 #define debug_mode_e_DBG_COMPOSITE_LOG 40 #define debug_mode_e_DBG_DWELL_METRIC 33 #define debug_mode_e_DBG_DYNO_VIEW 44 @@ -227,20 +235,16 @@ #define debug_mode_e_DBG_EXECUTOR 18 #define debug_mode_e_DBG_INSTANT_RPM 22 #define debug_mode_e_DBG_ION 30 -#define debug_mode_e_DBG_KNOCK 15 #define debug_mode_e_DBG_LOGIC_ANALYZER 45 #define debug_mode_e_DBG_LUA 48 #define debug_mode_e_DBG_MAP 27 #define debug_mode_e_DBG_METRICS 28 -#define debug_mode_e_DBG_SD_CARD 13 -#define debug_mode_e_DBG_SOFT_SPARK_CUT 6 #define debug_mode_e_DBG_SR5_PROTOCOL 14 #define debug_mode_e_DBG_STEPPER_IDLE_CONTROL 3 #define debug_mode_e_DBG_TCU 47 #define debug_mode_e_DBG_TLE8888 31 #define debug_mode_e_DBG_TPS_ACCEL 1 #define debug_mode_e_DBG_TRIGGER_COUNTERS 5 -#define debug_mode_e_DBG_UNUSED12 12 #define debug_mode_e_DBG_UNUSED41 41 #define debug_mode_e_DBG_UNUSED_42 42 #define debug_mode_e_enum "INVALID", "TPS acceleration enrichment", "INVALID", "Stepper Idle Control", "Engine Load accl enrich", "Trigger Counters", "Soft Spark Cut", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "SD card", "sr5", "Knock", "INVALID", "Electronic Throttle", "Executor", "Bench Test / TS commands", "INVALID", "Analog inputs #1", "INSTANT_RPM", "INVALID", "Status", "INVALID", "INVALID", "MAP", "Metrics", "INVALID", "Ion Sense", "TLE8888", "Analog inputs #2", "Dwell Metric", "INVALID", "INVALID", "Boost Control", "INVALID", "INVALID", "ETB Autotune", "Composite Log", "INVALID", "INVALID", "INVALID", "Dyno_View", "Logic_Analyzer", "INVALID", "TCU", "Lua" @@ -253,7 +257,7 @@ #define ego_sensor_e_ES_Innovate_MTX_L 1 #define ego_sensor_e_ES_PLX 4 #define EGT_CHANNEL_COUNT 8 -#define engine_configuration_s_size 3696 +#define engine_configuration_s_size 3992 #define engine_load_mode_e_auto_enum 0="LM_SPEED_DENSITY",2="LM_ALPHA_N",3="LM_LUA",100="LM_MOCK",1="LM_REAL_MAF" #define engine_load_mode_e_enum "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" #define engine_load_mode_e_LM_ALPHA_N 2 @@ -274,7 +278,7 @@ #define ENGINE_MAKE_VAG "VAG" #define ENGINE_NOISE_CURVE_SIZE 16 #define ENGINE_SNIFFER_UNIT_US 10 -#define engine_type_e_auto_enum 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +#define engine_type_e_auto_enum 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" #define engine_type_e_BMW_M73_M 24 #define engine_type_e_BMW_M73_MRE 50 #define engine_type_e_BMW_M73_MRE_SLAVE 51 @@ -285,8 +289,6 @@ #define engine_type_e_DODGE_NEON_1995 2 #define engine_type_e_DODGE_NEON_2003_CRANK 46 #define engine_type_e_DODGE_RAM 64 -#define engine_type_e_ET_UNUSED_11 11 -#define engine_type_e_ET_UNUSED_12 12 #define engine_type_e_ET_UNUSED_13 13 #define engine_type_e_ET_UNUSED_15 15 #define engine_type_e_ET_UNUSED_17 17 @@ -348,6 +350,10 @@ #define engine_type_e_MRE_SUBARU_EJ18 37 #define engine_type_e_MRE_VW_B6 62 #define engine_type_e_NISSAN_PRIMERA 5 +#define engine_type_e_POLYGONUS_MIATA_MSM 12 +#define engine_type_e_POLYGONUS_MIATA_NA6 4 +#define engine_type_e_POLYGONUS_MIATA_NB1 11 +#define engine_type_e_POLYGONUS_MIATA_NB2 67 #define engine_type_e_PROTEUS_ANALOG_PWM_TEST 30 #define engine_type_e_PROTEUS_BMW_M73 63 #define engine_type_e_PROTEUS_E65_6H_MAN_IN_THE_MIDDLE 9 @@ -356,8 +362,6 @@ #define engine_type_e_PROTEUS_HONDA_K 90 #define engine_type_e_PROTEUS_HONDA_OBD2A 91 #define engine_type_e_PROTEUS_LUA_DEMO 25 -#define engine_type_e_PROTEUS_MIATA_NA6 4 -#define engine_type_e_PROTEUS_MIATA_NB2 67 #define engine_type_e_PROTEUS_QC_TEST_BOARD 42 #define engine_type_e_PROTEUS_VW_B6 39 #define engine_type_e_SACHS 29 @@ -383,7 +387,7 @@ #define ETB_BIAS_CURVE_LENGTH 8 #define ETB_COUNT 2 #define ETB_HW_MAX_FREQUENCY 3000 -#define FLASH_DATA_VERSION 20011 +#define FLASH_DATA_VERSION 20013 #define FUEL_LEVEL_TABLE_COUNT 8 #define FUEL_LOAD_COUNT 16 #define fuel_pressure_sensor_mode_e_auto_enum 0="FPM_Absolute",2="FPM_Differential",1="FPM_Gauge" @@ -402,6 +406,8 @@ #define GAUGE_NAME_ACCEL_Z "Acceleration: Z" #define GAUGE_NAME_AFR "Air/Fuel Ratio" #define GAUGE_NAME_AFR2 "Air/Fuel Ratio 2" +#define GAUGE_NAME_AFR2_GAS_SCALE "Air/Fuel Ratio 2 (Gas Scale)" +#define GAUGE_NAME_AFR_GAS_SCALE "Air/Fuel Ratio (Gas Scale)" #define GAUGE_NAME_AIR_FLOW_ESTIMATE "Air: Flow estimate" #define GAUGE_NAME_AIR_FLOW_MEASURED "MAF" #define GAUGE_NAME_AIR_FLOW_MEASURED_2 "MAF #2" @@ -902,12 +908,6 @@ #define LUA_PWM_COUNT 8 #define LUA_SCRIPT_SIZE 8000 #define MAF_DECODING_COUNT 256 -#define maf_sensor_type_e_auto_enum 0="CUSTOM",2="Bosch0280218004",1="Bosch0280218037",3="DensoTODO" -#define maf_sensor_type_e_Bosch0280218004 2 -#define maf_sensor_type_e_Bosch0280218037 1 -#define maf_sensor_type_e_CUSTOM 0 -#define maf_sensor_type_e_DensoTODO 3 -#define maf_sensor_type_e_enum "v0", "v1", "v2", "v3" #define MAIN_HELP_URL "https://wiki.fome.tech/" #define MAP_ANGLE_SIZE 8 #define MAP_sensor_config_s_size 140 @@ -943,18 +943,8 @@ #define PACK_PERCENT_BYTE_MULT 100.0 #define PEDAL_TO_TPS_SIZE 8 #define PERCENT_TRIM_BYTE_PACKING_DIV 0.02 -#define persistent_config_s_size 22820 +#define persistent_config_s_size 22996 #define pid_s_size 20 -#define PidAutoTune_AutoTunerState_AUTOTUNER_OFF 0 -#define PidAutoTune_AutoTunerState_CONVERGED 16 -#define PidAutoTune_AutoTunerState_FAILED 128 -#define PidAutoTune_AutoTunerState_RELAY_STEP_DOWN 8 -#define PidAutoTune_AutoTunerState_RELAY_STEP_UP 4 -#define PidAutoTune_AutoTunerState_STEADY_STATE_AFTER_STEP_UP 2 -#define PidAutoTune_AutoTunerState_STEADY_STATE_AT_BASELINE 1 -#define PidAutoTune_Peak_MAXIMUM 1 -#define PidAutoTune_Peak_MINIMUM -1 -#define PidAutoTune_Peak_NOT_A_PEAK 0 #define pin_input_mode_e_auto_enum 0="PI_DEFAULT",2="PI_PULLDOWN",1="PI_PULLUP" #define pin_input_mode_e_enum "DEFAULT", "PULLUP", "PULLDOWN" #define pin_input_mode_e_PI_DEFAULT 0 @@ -985,9 +975,8 @@ #define PROTOCOL_MSG "msg" #define PROTOCOL_OUTPIN "outpin" #define PROTOCOL_SIGNATURE_PREFIX "rusEFI " -#define PROTOCOL_TACH_NAME "tach" #define PROTOCOL_TEST_RESPONSE_TAG "ts_p_alive" -#define PROTOCOL_VERSION_TAG "rusEfiVersion" +#define PROTOCOL_VERSION_TAG "fomeVersion" #define PROTOCOL_VVT1_NAME "VVT1" #define PROTOCOL_VVT2_NAME "VVT2" #define PROTOCOL_VVT3_NAME "VVT3" @@ -1029,7 +1018,7 @@ #define SentEtbType_NONE 0 #define show_Frankenso_presets true #define show_test_presets true -#define SIGNATURE_HASH 2787437970 +#define SIGNATURE_HASH 4291159966 #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 #define spi_device_e_SPI_DEVICE_2 2 @@ -1074,7 +1063,7 @@ #define TOOTH_PACKET_SIZE 2 #define TOP_DEAD_CENTER_MESSAGE "r" #define TORQUE_CURVE_SIZE 6 -#define TOTAL_CONFIG_SIZE 22820 +#define TOTAL_CONFIG_SIZE 22996 #define TPS_2_BYTE_PACKING_MULT 100 #define TPS_TPS_ACCEL_CLT_CORR_TABLE 4 #define TPS_TPS_ACCEL_TABLE 8 @@ -1096,7 +1085,7 @@ #define TRIGGER_IS_CRANK_KEY "crankBased" #define TRIGGER_IS_SECOND_WHEEL_CAM "isSecondWheelCam" #define TRIGGER_SIMULATOR_PIN_COUNT 2 -#define trigger_type_e_auto_enum 0="TT_TOOTHED_WHEEL",38="TT_12_TOOTH_CRANK",50="TT_1_16",25="TT_2JZ_3_34",70="TT_36_2_1",71="TT_36_2_1_1",23="TT_36_2_2_2",31="TT_3_1_CAM",20="TT_60_2_VW",21="TT_BENELLI_TRE",30="TT_CHRYSLER_NGC_36_2_2",6="TT_DAIHATSU",2="TT_DODGE_NEON_1995",39="TT_DODGE_NEON_1995_ONLY_CRANK",14="TT_DODGE_NEON_2003_CAM",32="TT_DODGE_NEON_2003_CRANK",19="TT_DODGE_RAM",22="TT_DODGE_STRATUS",41="TT_FIAT_IAW_P8",1="TT_FORD_ASPIRE",42="TT_FORD_ST170",65="TT_FORD_TFI_PIP",27="TT_GM_24x",74="TT_GM_24x_2",54="TT_GM_60_2_2_2",5="TT_GM_7X",28="TT_HONDA_CBR_600",67="TT_HONDA_K_CAM_4_1",46="TT_HONDA_K_CRANK_12_1",37="TT_JEEP_18_2_2_2",40="TT_JEEP_4_CYL",57="TT_KAWA_KX450F",15="TT_MAZDA_DOHC_1_4",3="TT_MAZDA_MIATA_NA",35="TT_MAZDA_MIATA_VVT_TEST",7="TT_MAZDA_SOHC_4",10="TT_MERCEDES_2_SEGMENT",33="TT_MIATA_VVT",11="TT_MITSUBISHI_4G93",4="TT_MITSUBISHI_MESS",34="TT_MITSU_4G63_CAM",29="TT_MITSU_4G9x_CAM",52="TT_NISSAN_MR18_CAM_VVT",68="TT_NISSAN_MR18_CRANK",61="TT_NISSAN_QR25",24="TT_NISSAN_SR20VE",60="TT_NISSAN_VQ30",58="TT_NISSAN_VQ35",18="TT_ONE",16="TT_ONE_PLUS_ONE",44="TT_RENIX_44_2_2",45="TT_RENIX_66_2_2_2",26="TT_ROVER_K",55="TT_SKODA_FAVORIT",36="TT_SUBARU_7_6",51="TT_SUBARU_7_WITHOUT_6",12="TT_SUBARU_EZ30",49="TT_SUBARU_SVX",64="TT_SUBARU_SVX_CAM_VVT",63="TT_SUBARU_SVX_CRANK_1",66="TT_SUZUKI_G13B",69="TT_TOOTHED_WHEEL_32_2",9="TT_TOOTHED_WHEEL_36_1",48="TT_TOOTHED_WHEEL_36_2",8="TT_TOOTHED_WHEEL_60_2",53="TT_TRI_TACH",75="TT_UNUSED",56="TT_VVT_BARRA_3_PLUS_1",47="TT_VVT_BOSCH_QUICK_START",17="TT_VVT_JZ",13="TT_VVT_MAZDA_SKYACTIV",43="TT_VVT_MIATA_NB",62="TT_VVT_MITSUBISHI_3A92",72="TT_VVT_MITSUBISHI_6G75",59="TT_VVT_NISSAN_VQ35",73="TT_VVT_TOYOTA_4_1" +#define trigger_type_e_auto_enum 0="TT_TOOTHED_WHEEL",38="TT_12_TOOTH_CRANK",50="TT_1_16",25="TT_2JZ_3_34",70="TT_36_2_1",71="TT_36_2_1_1",23="TT_36_2_2_2",31="TT_3_1_CAM",20="TT_60_2_VW",21="TT_BENELLI_TRE",30="TT_CHRYSLER_NGC_36_2_2",6="TT_DAIHATSU",2="TT_DODGE_NEON_1995",39="TT_DODGE_NEON_1995_ONLY_CRANK",14="TT_DODGE_NEON_2003_CAM",32="TT_DODGE_NEON_2003_CRANK",19="TT_DODGE_RAM",22="TT_DODGE_STRATUS",41="TT_FIAT_IAW_P8",1="TT_FORD_ASPIRE",42="TT_FORD_ST170",65="TT_FORD_TFI_PIP",27="TT_GM_24x",74="TT_GM_24x_2",54="TT_GM_60_2_2_2",5="TT_GM_7X",28="TT_HONDA_CBR_600",67="TT_HONDA_K_CAM_4_1",46="TT_HONDA_K_CRANK_12_1",37="TT_JEEP_18_2_2_2",40="TT_JEEP_4_CYL",57="TT_KAWA_KX450F",15="TT_MAZDA_DOHC_1_4",3="TT_MAZDA_MIATA_NA",35="TT_MAZDA_MIATA_VVT_TEST",7="TT_MAZDA_SOHC_4",10="TT_MERCEDES_2_SEGMENT",33="TT_MIATA_VVT",11="TT_MITSUBISHI_4G93",4="TT_MITSUBISHI_MESS",34="TT_MITSU_4G63_CAM",29="TT_MITSU_4G9x_CAM",52="TT_NISSAN_MR18_CAM_VVT",68="TT_NISSAN_MR18_CRANK",61="TT_NISSAN_QR25",24="TT_NISSAN_SR20VE",60="TT_NISSAN_VQ30",58="TT_NISSAN_VQ35",18="TT_ONE",16="TT_ONE_PLUS_ONE",44="TT_RENIX_44_2_2",45="TT_RENIX_66_2_2_2",26="TT_ROVER_K",55="TT_SKODA_FAVORIT",36="TT_SUBARU_7_6",51="TT_SUBARU_7_WITHOUT_6",12="TT_SUBARU_EZ30",49="TT_SUBARU_SVX",64="TT_SUBARU_SVX_CAM_VVT",63="TT_SUBARU_SVX_CRANK_1",66="TT_SUZUKI_G13B",69="TT_TOOTHED_WHEEL_32_2",9="TT_TOOTHED_WHEEL_36_1",48="TT_TOOTHED_WHEEL_36_2",8="TT_TOOTHED_WHEEL_60_2",53="TT_TRI_TACH",75="TT_UNUSED",56="TT_VVT_BARRA_3_PLUS_1",47="TT_VVT_BOSCH_QUICK_START",13="TT_VVT_MAZDA_SKYACTIV",43="TT_VVT_MIATA_NB",62="TT_VVT_MITSUBISHI_3A92",72="TT_VVT_MITSUBISHI_6G75",59="TT_VVT_NISSAN_VQ35",17="TT_VVT_TOYOTA_3_TOOTH",73="TT_VVT_TOYOTA_4_1" #define trigger_type_e_enum "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Mitsubishi Mess 4", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Mitsubishi 4G93 11", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600", "Mitsubishi 4G92/93/94 Cam 29", "Honda CBR 600 custom", "3/1 skipped", "Dodge Neon 2003 crank", "Miata NB", "Mitsubishi 4G63 Cam 34", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12 tooth crank", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36/2", "Subaru SVX", "1+16", "Subaru 7 without 6", "INVALID", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "Mitsubishi 3A92", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32/2", "36-2-1", "36-2-1-1", "INVALID", "INVALID", "GM 24x 3 degree", "trg75" #define trigger_type_e_TT_12_TOOTH_CRANK 38 #define trigger_type_e_TT_1_16 50 @@ -1167,12 +1156,12 @@ #define trigger_type_e_TT_UNUSED 75 #define trigger_type_e_TT_VVT_BARRA_3_PLUS_1 56 #define trigger_type_e_TT_VVT_BOSCH_QUICK_START 47 -#define trigger_type_e_TT_VVT_JZ 17 #define trigger_type_e_TT_VVT_MAZDA_SKYACTIV 13 #define trigger_type_e_TT_VVT_MIATA_NB 43 #define trigger_type_e_TT_VVT_MITSUBISHI_3A92 62 #define trigger_type_e_TT_VVT_MITSUBISHI_6G75 72 #define trigger_type_e_TT_VVT_NISSAN_VQ35 59 +#define trigger_type_e_TT_VVT_TOYOTA_3_TOOTH 17 #define trigger_type_e_TT_VVT_TOYOTA_4_1 73 #define TRIGGER_TYPE_WITH_SECOND_WHEEL trigger_type == 1 || trigger_type == 3 || trigger_type == 11 || trigger_type == 15 || trigger_type == 16 || trigger_type == 19 || trigger_type == 25 || trigger_type == 28 || trigger_type == 31 || trigger_type == 35 || trigger_type == 36 || trigger_type == 37 || trigger_type == 40 || trigger_type == 49 || trigger_type == 50 || trigger_type == 53 || trigger_type == 54 || trigger_type == 63 || trigger_type == 64 #define TRIGGER_TYPE_WITHOUT_KNOWN_LOCATION trigger_type == 8 || trigger_type == 9 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73 @@ -1251,6 +1240,10 @@ #define TS_PERF_TRACE_GET_BUFFER 'b' #define TS_PERF_TRACE_GET_BUFFER_char b #define TS_PROTOCOL "001" +#define TS_QUERY_BOOTLOADER 'L' +#define TS_QUERY_BOOTLOADER_char L +#define TS_QUERY_BOOTLOADER_NONE 0 +#define TS_QUERY_BOOTLOADER_OPENBLT 1 #define TS_QUERY_COMMAND 'Q' #define TS_QUERY_COMMAND_char Q #define TS_READ_COMMAND 'R' @@ -1293,7 +1286,7 @@ #define ts_show_vbatt true #define ts_show_vr_threshold_2 true #define ts_show_vr_threshold_all true -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.f407-discovery.2787437970" +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.f407-discovery.4291159966" #define TS_SINGLE_WRITE_COMMAND 'W' #define TS_SINGLE_WRITE_COMMAND_char W #define TS_TEST_COMMAND 't' @@ -1336,9 +1329,8 @@ #define VOLTAGE_1_BYTE_PACKING_DIV 0.02 #define VR_THRESHOLD_COUNT 2 #define vr_threshold_s_size 16 -#define vvt_mode_e_auto_enum 0="VVT_INACTIVE",2="VVT_2JZ",8="VVT_BARRA_3_PLUS_1",5="VVT_BOSCH_QUICK_START",7="VVT_FORD_ST170",16="VVT_HONDA_K_EXHAUST",10="VVT_HONDA_K_INTAKE",13="VVT_MAP_V_TWIN",15="VVT_MAZDA_SKYACTIV",3="VVT_MIATA_NB",12="VVT_MITSUBISHI_3A92",18="VVT_MITSUBISHI_4G63",17="VVT_MITSUBISHI_4G9x",14="VVT_MITSUBISHI_6G75",11="VVT_NISSAN_MR",9="VVT_NISSAN_VQ",1="VVT_SINGLE_TOOTH",6="VVT_TOYOTA_4_1" -#define vvt_mode_e_enum "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -#define vvt_mode_e_VVT_2JZ 2 +#define vvt_mode_e_auto_enum 0="VVT_INACTIVE",8="VVT_BARRA_3_PLUS_1",5="VVT_BOSCH_QUICK_START",7="VVT_FORD_ST170",16="VVT_HONDA_K_EXHAUST",10="VVT_HONDA_K_INTAKE",13="VVT_MAP_V_TWIN",15="VVT_MAZDA_SKYACTIV",3="VVT_MIATA_NB",12="VVT_MITSUBISHI_3A92",18="VVT_MITSUBISHI_4G63",17="VVT_MITSUBISHI_4G9x",14="VVT_MITSUBISHI_6G75",11="VVT_NISSAN_MR",9="VVT_NISSAN_VQ",1="VVT_SINGLE_TOOTH",2="VVT_TOYOTA_3_TOOTH",6="VVT_TOYOTA_4_1" +#define vvt_mode_e_enum "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" #define vvt_mode_e_VVT_BARRA_3_PLUS_1 8 #define vvt_mode_e_VVT_BOSCH_QUICK_START 5 #define vvt_mode_e_VVT_FORD_ST170 7 @@ -1355,5 +1347,6 @@ #define vvt_mode_e_VVT_NISSAN_MR 11 #define vvt_mode_e_VVT_NISSAN_VQ 9 #define vvt_mode_e_VVT_SINGLE_TOOTH 1 +#define vvt_mode_e_VVT_TOYOTA_3_TOOTH 2 #define vvt_mode_e_VVT_TOYOTA_4_1 6 #define WWAE_TABLE_SIZE 8 diff --git a/firmware/controllers/generated/signature_48way.h b/firmware/controllers/generated/signature_48way.h index 652fbfae05..4c36b389f9 100644 --- a/firmware/controllers/generated/signature_48way.h +++ b/firmware/controllers/generated/signature_48way.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 3202128349 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.48way.3202128349" +#define SIGNATURE_HASH 3033175398 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.10.25.48way.3033175398" diff --git a/firmware/controllers/generated/signature_alphax-2chan.h b/firmware/controllers/generated/signature_alphax-2chan.h index 08a0b2be3b..79247ae887 100644 --- a/firmware/controllers/generated/signature_alphax-2chan.h +++ b/firmware/controllers/generated/signature_alphax-2chan.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 3747157664 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.alphax-2chan.3747157664" +#define SIGNATURE_HASH 2260212908 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.alphax-2chan.2260212908" diff --git a/firmware/controllers/generated/signature_alphax-4chan.h b/firmware/controllers/generated/signature_alphax-4chan.h index 4ce19601ff..10600ce412 100644 --- a/firmware/controllers/generated/signature_alphax-4chan.h +++ b/firmware/controllers/generated/signature_alphax-4chan.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 1435571393 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.alphax-4chan.1435571393" +#define SIGNATURE_HASH 208674509 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.alphax-4chan.208674509" diff --git a/firmware/controllers/generated/signature_alphax-8chan.h b/firmware/controllers/generated/signature_alphax-8chan.h index 0d0eab1986..b426a17b1c 100644 --- a/firmware/controllers/generated/signature_alphax-8chan.h +++ b/firmware/controllers/generated/signature_alphax-8chan.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 757731896 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.alphax-8chan.757731896" +#define SIGNATURE_HASH 1959467060 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.alphax-8chan.1959467060" diff --git a/firmware/controllers/generated/signature_atlas.h b/firmware/controllers/generated/signature_atlas.h index e67e94c325..79d439e1ea 100644 --- a/firmware/controllers/generated/signature_atlas.h +++ b/firmware/controllers/generated/signature_atlas.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 3872187456 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.atlas.3872187456" +#define SIGNATURE_HASH 3207458380 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.atlas.3207458380" diff --git a/firmware/controllers/generated/signature_core48.h b/firmware/controllers/generated/signature_core48.h new file mode 100644 index 0000000000..081d0457b2 --- /dev/null +++ b/firmware/controllers/generated/signature_core48.h @@ -0,0 +1,2 @@ +#define SIGNATURE_HASH 512659632 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.core48.512659632" diff --git a/firmware/controllers/generated/signature_core8.h b/firmware/controllers/generated/signature_core8.h index 3ba9c4fde4..cacc0390fd 100644 --- a/firmware/controllers/generated/signature_core8.h +++ b/firmware/controllers/generated/signature_core8.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 3256949969 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.core8.3256949969" +#define SIGNATURE_HASH 2613057245 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.core8.2613057245" diff --git a/firmware/controllers/generated/signature_f407-discovery.h b/firmware/controllers/generated/signature_f407-discovery.h index f775e64cc9..65fa6a160a 100644 --- a/firmware/controllers/generated/signature_f407-discovery.h +++ b/firmware/controllers/generated/signature_f407-discovery.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 2787437970 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.f407-discovery.2787437970" +#define SIGNATURE_HASH 4291159966 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.f407-discovery.4291159966" diff --git a/firmware/controllers/generated/signature_f429-discovery.h b/firmware/controllers/generated/signature_f429-discovery.h index d251cb7b43..d02524b3cc 100644 --- a/firmware/controllers/generated/signature_f429-discovery.h +++ b/firmware/controllers/generated/signature_f429-discovery.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 4194701671 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.f429-discovery.4194701671" +#define SIGNATURE_HASH 2749832043 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.f429-discovery.2749832043" diff --git a/firmware/controllers/generated/signature_frankenso_na6.h b/firmware/controllers/generated/signature_frankenso_na6.h index a3ba00660d..dfdf5ee2b0 100644 --- a/firmware/controllers/generated/signature_frankenso_na6.h +++ b/firmware/controllers/generated/signature_frankenso_na6.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 3629445549 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.frankenso_na6.3629445549" +#define SIGNATURE_HASH 2176187297 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.frankenso_na6.2176187297" diff --git a/firmware/controllers/generated/signature_harley81.h b/firmware/controllers/generated/signature_harley81.h index 5a2346bd78..e0bc3bb81f 100644 --- a/firmware/controllers/generated/signature_harley81.h +++ b/firmware/controllers/generated/signature_harley81.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 1939024157 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.harley81.1939024157" +#define SIGNATURE_HASH 712123153 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.harley81.712123153" diff --git a/firmware/controllers/generated/signature_hellen-gm-e67.h b/firmware/controllers/generated/signature_hellen-gm-e67.h index 4b937818ff..8dfa73dc10 100644 --- a/firmware/controllers/generated/signature_hellen-gm-e67.h +++ b/firmware/controllers/generated/signature_hellen-gm-e67.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 2473541556 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.hellen-gm-e67.2473541556" +#define SIGNATURE_HASH 3398317496 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.hellen-gm-e67.3398317496" diff --git a/firmware/controllers/generated/signature_hellen-honda-k.h b/firmware/controllers/generated/signature_hellen-honda-k.h index 857bccf5a3..2e8275a8cf 100644 --- a/firmware/controllers/generated/signature_hellen-honda-k.h +++ b/firmware/controllers/generated/signature_hellen-honda-k.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 150925813 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.hellen-honda-k.150925813" +#define SIGNATURE_HASH 1361050617 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.hellen-honda-k.1361050617" diff --git a/firmware/controllers/generated/signature_hellen-nb1.h b/firmware/controllers/generated/signature_hellen-nb1.h index 9de4af3b03..ba8c382b39 100644 --- a/firmware/controllers/generated/signature_hellen-nb1.h +++ b/firmware/controllers/generated/signature_hellen-nb1.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 220266715 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.hellen-nb1.220266715" +#define SIGNATURE_HASH 1421871831 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.hellen-nb1.1421871831" diff --git a/firmware/controllers/generated/signature_hellen121nissan.h b/firmware/controllers/generated/signature_hellen121nissan.h index fc73ccd4ea..31a1f19d7e 100644 --- a/firmware/controllers/generated/signature_hellen121nissan.h +++ b/firmware/controllers/generated/signature_hellen121nissan.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 2113580177 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.hellen121nissan.2113580177" +#define SIGNATURE_HASH 605791901 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.hellen121nissan.605791901" diff --git a/firmware/controllers/generated/signature_hellen121vag.h b/firmware/controllers/generated/signature_hellen121vag.h index 8e1a823e93..84a890a988 100644 --- a/firmware/controllers/generated/signature_hellen121vag.h +++ b/firmware/controllers/generated/signature_hellen121vag.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 3522798402 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.hellen121vag.3522798402" +#define SIGNATURE_HASH 2283317582 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.hellen121vag.2283317582" diff --git a/firmware/controllers/generated/signature_hellen128.h b/firmware/controllers/generated/signature_hellen128.h index 0790ff739d..c2338a2833 100644 --- a/firmware/controllers/generated/signature_hellen128.h +++ b/firmware/controllers/generated/signature_hellen128.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 2056548544 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.hellen128.2056548544" +#define SIGNATURE_HASH 594901708 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.hellen128.594901708" diff --git a/firmware/controllers/generated/signature_hellen154hyundai.h b/firmware/controllers/generated/signature_hellen154hyundai.h index ffd23c4b4c..ccd7e65268 100644 --- a/firmware/controllers/generated/signature_hellen154hyundai.h +++ b/firmware/controllers/generated/signature_hellen154hyundai.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 3999485985 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.hellen154hyundai.3999485985" +#define SIGNATURE_HASH 3078773293 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.hellen154hyundai.3078773293" diff --git a/firmware/controllers/generated/signature_hellen72.h b/firmware/controllers/generated/signature_hellen72.h index bf13d80393..5e8da1cacf 100644 --- a/firmware/controllers/generated/signature_hellen72.h +++ b/firmware/controllers/generated/signature_hellen72.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 196249808 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.hellen72.196249808" +#define SIGNATURE_HASH 1381204700 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.hellen72.1381204700" diff --git a/firmware/controllers/generated/signature_hellen81.h b/firmware/controllers/generated/signature_hellen81.h index d39b6676e5..a626ff5af3 100644 --- a/firmware/controllers/generated/signature_hellen81.h +++ b/firmware/controllers/generated/signature_hellen81.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 2805527122 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.hellen81.2805527122" +#define SIGNATURE_HASH 4275697758 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.hellen81.4275697758" diff --git a/firmware/controllers/generated/signature_hellen88bmw.h b/firmware/controllers/generated/signature_hellen88bmw.h index 0a6a5c432a..087fa5e798 100644 --- a/firmware/controllers/generated/signature_hellen88bmw.h +++ b/firmware/controllers/generated/signature_hellen88bmw.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 2701190497 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.hellen88bmw.2701190497" +#define SIGNATURE_HASH 4175556461 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.hellen88bmw.4175556461" diff --git a/firmware/controllers/generated/signature_hellenNA6.h b/firmware/controllers/generated/signature_hellenNA6.h index b101c64a78..c74dec888a 100644 --- a/firmware/controllers/generated/signature_hellenNA6.h +++ b/firmware/controllers/generated/signature_hellenNA6.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 3921039584 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.hellenNA6.3921039584" +#define SIGNATURE_HASH 2958514924 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.hellenNA6.2958514924" diff --git a/firmware/controllers/generated/signature_hellenNA8_96.h b/firmware/controllers/generated/signature_hellenNA8_96.h index 77b366aa96..83e7845aaf 100644 --- a/firmware/controllers/generated/signature_hellenNA8_96.h +++ b/firmware/controllers/generated/signature_hellenNA8_96.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 1427253072 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.hellenNA8_96.1427253072" +#define SIGNATURE_HASH 217263452 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.hellenNA8_96.217263452" diff --git a/firmware/controllers/generated/signature_mre_f4.h b/firmware/controllers/generated/signature_mre_f4.h index 426a78e455..ae69d780f4 100644 --- a/firmware/controllers/generated/signature_mre_f4.h +++ b/firmware/controllers/generated/signature_mre_f4.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 495482079 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.mre_f4.495482079" +#define SIGNATURE_HASH 1147764435 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.mre_f4.1147764435" diff --git a/firmware/controllers/generated/signature_mre_f7.h b/firmware/controllers/generated/signature_mre_f7.h index 16ab5de397..652177053a 100644 --- a/firmware/controllers/generated/signature_mre_f7.h +++ b/firmware/controllers/generated/signature_mre_f7.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 495482079 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.mre_f7.495482079" +#define SIGNATURE_HASH 1147764435 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.mre_f7.1147764435" diff --git a/firmware/controllers/generated/signature_prometheus_405.h b/firmware/controllers/generated/signature_prometheus_405.h index b058462127..baf0aea3f7 100644 --- a/firmware/controllers/generated/signature_prometheus_405.h +++ b/firmware/controllers/generated/signature_prometheus_405.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 3398622455 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.prometheus_405.3398622455" +#define SIGNATURE_HASH 2473842427 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.prometheus_405.2473842427" diff --git a/firmware/controllers/generated/signature_prometheus_469.h b/firmware/controllers/generated/signature_prometheus_469.h index efcb0d3499..76141528bb 100644 --- a/firmware/controllers/generated/signature_prometheus_469.h +++ b/firmware/controllers/generated/signature_prometheus_469.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 3398622455 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.prometheus_469.3398622455" +#define SIGNATURE_HASH 2473842427 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.prometheus_469.2473842427" diff --git a/firmware/controllers/generated/signature_proteus_f4.h b/firmware/controllers/generated/signature_proteus_f4.h index df0239ee0d..a8a112a150 100644 --- a/firmware/controllers/generated/signature_proteus_f4.h +++ b/firmware/controllers/generated/signature_proteus_f4.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 1798886028 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.proteus_f4.1798886028" +#define SIGNATURE_HASH 853137536 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.proteus_f4.853137536" diff --git a/firmware/controllers/generated/signature_proteus_f7.h b/firmware/controllers/generated/signature_proteus_f7.h index 51d71c289d..2a1c3fa5e9 100644 --- a/firmware/controllers/generated/signature_proteus_f7.h +++ b/firmware/controllers/generated/signature_proteus_f7.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 1798886028 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.proteus_f7.1798886028" +#define SIGNATURE_HASH 853137536 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.proteus_f7.853137536" diff --git a/firmware/controllers/generated/signature_proteus_h7.h b/firmware/controllers/generated/signature_proteus_h7.h index e57e4c5b61..c4f59a3636 100644 --- a/firmware/controllers/generated/signature_proteus_h7.h +++ b/firmware/controllers/generated/signature_proteus_h7.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 1798886028 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.proteus_h7.1798886028" +#define SIGNATURE_HASH 853137536 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.proteus_h7.853137536" diff --git a/firmware/controllers/generated/signature_small-can-board.h b/firmware/controllers/generated/signature_small-can-board.h new file mode 100644 index 0000000000..29d40fcfed --- /dev/null +++ b/firmware/controllers/generated/signature_small-can-board.h @@ -0,0 +1,2 @@ +#define SIGNATURE_HASH 1267404021 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.small-can-board.1267404021" diff --git a/firmware/controllers/generated/signature_subaru_eg33_f7.h b/firmware/controllers/generated/signature_subaru_eg33_f7.h index fadc250c26..5563be0b58 100644 --- a/firmware/controllers/generated/signature_subaru_eg33_f7.h +++ b/firmware/controllers/generated/signature_subaru_eg33_f7.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 2133657576 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.subaru_eg33_f7.2133657576" +#define SIGNATURE_HASH 650907108 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.subaru_eg33_f7.650907108" diff --git a/firmware/controllers/generated/signature_tdg-pdm8.h b/firmware/controllers/generated/signature_tdg-pdm8.h index dca379ccfa..70b1d723e1 100644 --- a/firmware/controllers/generated/signature_tdg-pdm8.h +++ b/firmware/controllers/generated/signature_tdg-pdm8.h @@ -1,2 +1,2 @@ -#define SIGNATURE_HASH 1890073925 -#define TS_SIGNATURE "rusEFI (FOME) master.2023.08.28.tdg-pdm8.1890073925" +#define SIGNATURE_HASH 692664137 +#define TS_SIGNATURE "rusEFI (FOME) master.2023.11.04.tdg-pdm8.692664137" diff --git a/firmware/controllers/limp_manager.cpp b/firmware/controllers/limp_manager.cpp index 638b4580ab..7169caccfa 100644 --- a/firmware/controllers/limp_manager.cpp +++ b/firmware/controllers/limp_manager.cpp @@ -42,7 +42,7 @@ void LimpManager::updateState(int rpm, efitick_t nowNt) { Clearable allowFuel = engineConfiguration->isInjectionEnabled; Clearable allowSpark = engineConfiguration->isIgnitionEnabled; -#if !EFI_UNIT_TEST +#if !EFI_UNIT_TEST && EFI_SHAFT_POSITION_INPUT // if the ignition is off, cut fuel + spark // UNLESS we're self stimulating, so you can test the ECU on the bench on USB if (!m_ignitionOn && !engine->triggerCentral.directSelfStimulation) { @@ -148,11 +148,33 @@ void LimpManager::updateState(int rpm, efitick_t nowNt) { allowFuel.clear(ClearReason::StopRequested); } - // If duty cycle is high, impose a fuel cut rev limiter. - // This is safer than attempting to limp along with injectors or a pump that are out of flow. - // only reset once below 20% duty to force the driver to lift - if (m_injectorDutyCutHysteresis.test(getInjectorDutyCycle(rpm), 96, 20)) { - allowFuel.clear(ClearReason::InjectorDutyCycle); + { + // If duty cycle is high, impose a fuel cut rev limiter. + // This is safer than attempting to limp along with injectors or a pump that are out of flow. + // Two conditions will trigger a cut: + // - An instantaneous excursion above maxInjectorDutyInstant + // - A sustained excursion above maxInjectorDutySustained for a duration of >= maxInjectorDutySustainedTimeout + // Only reset once below 20% duty to force the driver to lift off the pedal + + auto injDutyCycle = getInjectorDutyCycle(rpm); + bool isOverInstantDutyCycle = injDutyCycle > engineConfiguration->maxInjectorDutyInstant; + bool isOverSustainedDutyCycle = injDutyCycle > engineConfiguration->maxInjectorDutySustained; + bool isUnderLowDuty = injDutyCycle < 20; + + if (!isOverSustainedDutyCycle) { + // Duty cycle is OK, reset timer. + m_injectorDutySustainedTimer.reset(nowNt); + } + + // True if isOverSustainedDutyCycle has been true for longer than the timeout + bool sustainedLimitTimedOut = m_injectorDutySustainedTimer.hasElapsedSec(engineConfiguration->maxInjectorDutySustainedTimeout); + + bool someLimitTripped = isOverInstantDutyCycle || sustainedLimitTimedOut; + + if (m_injectorDutyCutHysteresis.test(someLimitTripped, isUnderLowDuty)) { + allowFuel.clear(ClearReason::InjectorDutyCycle); + warning(ObdCode::CUSTOM_TOO_LONG_FUEL_INJECTION, "Injector duty cycle cut %.1f", injDutyCycle); + } } // If the pedal is pushed while not running, cut fuel to clear a flood condition. @@ -227,20 +249,20 @@ bool LimpManager::allowTriggerInput() const { LimpState LimpManager::allowInjection() const { if (!m_allowInjection) { - return {false, m_allowInjection.clearReason}; + return {false, m_allowInjection.why()}; } if (!m_transientAllowInjection) { - return {false, m_transientAllowInjection.clearReason}; + return {false, m_transientAllowInjection.why()}; } return {true, ClearReason::None}; } LimpState LimpManager::allowIgnition() const { if (!m_allowIgnition) { - return {false, m_allowIgnition.clearReason}; + return {false, m_allowIgnition.why()}; } if (!m_transientAllowIgnition) { - return {false, m_transientAllowIgnition.clearReason}; + return {false, m_transientAllowIgnition.why()}; } return {true, ClearReason::None}; } diff --git a/firmware/controllers/limp_manager.h b/firmware/controllers/limp_manager.h index d5dfc96bfe..78fefadb43 100644 --- a/firmware/controllers/limp_manager.h +++ b/firmware/controllers/limp_manager.h @@ -50,14 +50,14 @@ class Clearable { Clearable() : m_value(true) {} Clearable(bool value) : m_value(value) { if (!m_value) { - clearReason = ClearReason::Settings; + m_clearReason = ClearReason::Settings; } } void clear(ClearReason clearReason) { if (m_value) { m_value = false; - this->clearReason = clearReason; + m_clearReason = clearReason; } } @@ -65,9 +65,13 @@ class Clearable { return m_value; } - ClearReason clearReason = ClearReason::None; + ClearReason why() const { + return m_clearReason; + } + private: bool m_value = true; + ClearReason m_clearReason = ClearReason::None; }; struct LimpState { @@ -84,9 +88,13 @@ class Hysteresis { public: // returns true if value > rising, false if value < falling, previous if falling < value < rising. bool test(float value, float rising, float falling) { - if (value > rising) { + return test(value > rising, value < falling); + } + + bool test (bool risingCondition, bool fallingCondition) { + if (risingCondition) { m_state = true; - } else if (value < falling) { + } else if (fallingCondition) { m_state = false; } @@ -146,6 +154,9 @@ class LimpManager : public EngineModule { // Tracks how long since a cut (ignition or fuel) was active for any reason Timer m_lastCutTime; + + // Tracks how long injector duty has been over the sustained limit + Timer m_injectorDutySustainedTimer; }; LimpManager * getLimpManager(); diff --git a/firmware/controllers/lua/can_filter.cpp b/firmware/controllers/lua/can_filter.cpp index 9820b6020a..e39359c9f9 100644 --- a/firmware/controllers/lua/can_filter.cpp +++ b/firmware/controllers/lua/can_filter.cpp @@ -7,12 +7,12 @@ static constexpr size_t maxFilterCount = 48; static size_t filterCount = 0; static CanFilter filters[maxFilterCount]; -CanFilter* getFilterForId(size_t busIndex, int Id) { +CanFilter* getFilterForId(CanBusIndex busIndex, int Id) { for (size_t i = 0; i < filterCount; i++) { auto& filter = filters[i]; if (filter.accept(Id)) { - if (filter.Bus == ANY_BUS || filter.Bus == (int)busIndex) { + if (filter.Bus == CanBusIndex::Any || filter.Bus == busIndex) { return &filter; } } @@ -26,7 +26,7 @@ void resetLuaCanRx() { filterCount = 0; } -void addLuaCanRxFilter(int32_t eid, uint32_t mask, int bus, int callback) { +void addLuaCanRxFilter(int32_t eid, uint32_t mask, CanBusIndex bus, int callback) { if (filterCount >= maxFilterCount) { firmwareError(ObdCode::OBD_PCM_Processor_Fault, "Too many Lua CAN RX filters"); } diff --git a/firmware/controllers/lua/can_filter.h b/firmware/controllers/lua/can_filter.h index 7f7b110e24..3ae99ea921 100644 --- a/firmware/controllers/lua/can_filter.h +++ b/firmware/controllers/lua/can_filter.h @@ -2,25 +2,26 @@ #pragma once +#include "can.h" + #define FILTER_SPECIFIC 0x1FFFFFFF -#define ANY_BUS -1 #define NO_CALLBACK -1 struct CanFilter { int32_t Id; int32_t Mask; - int Bus; + CanBusIndex Bus; int Callback; - bool accept(int Id) { - return (Id & this->Mask) == this->Id; + bool accept(int id) { + return (id & this->Mask) == this->Id; } }; // Called when the user script is unloaded, resets any CAN rx filters void resetLuaCanRx(); // Adds a frame ID to listen to -void addLuaCanRxFilter(int32_t eid, uint32_t mask, int bus, int callback); +void addLuaCanRxFilter(int32_t eid, uint32_t mask, CanBusIndex bus, int callback); -CanFilter* getFilterForId(size_t busIndex, int Id); +CanFilter* getFilterForId(CanBusIndex busIndex, int Id); diff --git a/firmware/controllers/lua/generated/output_lookup_generated.cpp b/firmware/controllers/lua/generated/output_lookup_generated.cpp index 7719223b50..ed54d6bb29 100644 --- a/firmware/controllers/lua/generated/output_lookup_generated.cpp +++ b/firmware/controllers/lua/generated/output_lookup_generated.cpp @@ -92,8 +92,6 @@ float getOutputValueByName(const char *name) { return engine->outputChannels.baroPressure; case -1119268893: return engine->outputChannels.lambdaValue; - case -2096715875: - return engine->outputChannels.knockRetard; case 277722310: return engine->outputChannels.VBatt; case 598268994: @@ -142,8 +140,6 @@ float getOutputValueByName(const char *name) { return engine->outputChannels.TPS2Value; case -1158359776: return engine->outputChannels.tuneCrc16; - case 710253075: - return engine->outputChannels.knockLevel; case -1962923820: return engine->outputChannels.seconds; case -2073424832: @@ -176,14 +172,14 @@ float getOutputValueByName(const char *name) { return engine->outputChannels.flexPercent; case 53406649: return engine->outputChannels.wastegatePositionSensor; - case 1299611400: - return engine->outputChannels.tsConfigVersion; case -1560670902: return engine->outputChannels.calibrationValue; case 1774505810: return engine->outputChannels.calibrationMode; - case -2029665121: - return engine->outputChannels.idleTargetPosition; + case 356548450: + return engine->outputChannels.idleStepperTargetPosition; + case 1299611400: + return engine->outputChannels.tsConfigVersion; case 2018173863: return engine->outputChannels.totalTriggerErrorCounter; case -1326404407: @@ -250,8 +246,6 @@ float getOutputValueByName(const char *name) { return engine->outputChannels.rawTps2Primary; case 70357120: return engine->outputChannels.rawTps2Secondary; - case 699938372: - return engine->outputChannels.knockCount; case 633018089: return engine->outputChannels.accelerationZ; case -1670865464: @@ -460,6 +454,28 @@ float getOutputValueByName(const char *name) { return engine->outputChannels.Gego; case 1092959609: return engine->outputChannels.testBenchIter; + case 1628523935: + return engine->outputChannels.oilTemp; + case -1077373465: + return engine->outputChannels.fuelTemp; + case 309572379: + return engine->outputChannels.ambientTemp; + case 553570450: + return engine->outputChannels.compressorDischargeTemp; + case 1404346549: + return engine->outputChannels.compressorDischargePressure; + case 769340240: + return engine->outputChannels.throttleInletPressure; + case 795671090: + return engine->outputChannels.ignitionOnTime; + case -1165835361: + return engine->outputChannels.engineRunTime; + case -1357387481: + return engine->outputChannels.distanceTraveled; + case 111403416: + return engine->outputChannels.afrGasolineScale; + case 2029444810: + return engine->outputChannels.afr2GasolineScale; case -1779658835: return engine->fuelComputer.totalFuelCorrection; case -1288205717: @@ -486,6 +502,8 @@ float getOutputValueByName(const char *name) { return engine->fuelComputer.sdTcharge_coff; case 1650433343: return engine->fuelComputer.sdAirMassInOneCylinder; + case 1599780729: + return engine->fuelComputer.normalizedCylinderFilling; case -1777838088: return engine->ignitionState.baseDwell; case -903101570: @@ -504,69 +522,79 @@ float getOutputValueByName(const char *name) { return engine->ignitionState.luaTimingAdd; case -1626770351: return engine->ignitionState.luaTimingMult; + case -1571781441: + return ___engine.module()->m_knockLevel; + case -94443575: + return ___engine.module()->m_knockRetard; + case -504596140: + return ___engine.module()->m_knockThreshold; + case -1582096144: + return ___engine.module()->m_knockCount; + case 164334513: + return ___engine.module()->m_maximumRetard; #if EFI_BOOST_CONTROL case -575666209: - return engine->boostController.isTpsInvalid; + return ___engine.module()->isTpsInvalid; #endif #if EFI_BOOST_CONTROL case 1846215200: - return engine->boostController.m_shouldResetPid; + return ___engine.module()->m_shouldResetPid; #endif #if EFI_BOOST_CONTROL case 1826317915: - return engine->boostController.isBelowClosedLoopThreshold; + return ___engine.module()->isBelowClosedLoopThreshold; #endif #if EFI_BOOST_CONTROL case -1642402810: - return engine->boostController.isNotClosedLoop; + return ___engine.module()->isNotClosedLoop; #endif #if EFI_BOOST_CONTROL case 2111912944: - return engine->boostController.isZeroRpm; + return ___engine.module()->isZeroRpm; #endif #if EFI_BOOST_CONTROL case -2011570052: - return engine->boostController.hasInitBoost; + return ___engine.module()->hasInitBoost; #endif #if EFI_BOOST_CONTROL case 193830616: - return engine->boostController.rpmTooLow; + return ___engine.module()->rpmTooLow; #endif #if EFI_BOOST_CONTROL case -1033638560: - return engine->boostController.tpsTooLow; + return ___engine.module()->tpsTooLow; #endif #if EFI_BOOST_CONTROL case -734877977: - return engine->boostController.mapTooLow; + return ___engine.module()->mapTooLow; #endif #if EFI_BOOST_CONTROL case 119157463: - return engine->boostController.luaTargetAdd; + return ___engine.module()->luaTargetAdd; #endif #if EFI_BOOST_CONTROL case 1239062717: - return engine->boostController.boostOutput; + return ___engine.module()->boostOutput; #endif #if EFI_BOOST_CONTROL case -362320880: - return engine->boostController.luaTargetMult; + return ___engine.module()->luaTargetMult; #endif #if EFI_BOOST_CONTROL case -1481117304: - return engine->boostController.openLoopPart; + return ___engine.module()->openLoopPart; #endif #if EFI_BOOST_CONTROL case 1944984220: - return engine->boostController.luaOpenLoopAdd; + return ___engine.module()->luaOpenLoopAdd; #endif #if EFI_BOOST_CONTROL case -707712709: - return engine->boostController.boostControllerClosedLoopPart; + return ___engine.module()->boostControllerClosedLoopPart; #endif #if EFI_BOOST_CONTROL case -1712045196: - return engine->boostController.boostControlTarget; + return ___engine.module()->boostControlTarget; #endif case 182391090: return ___engine.module()->cranking; @@ -638,32 +666,52 @@ float getOutputValueByName(const char *name) { return engine->engineState.ignitionLoad; case 1568071542: return engine->engineState.veTableYAxis; +#if EFI_SHAFT_POSITION_INPUT case 477303734: return engine->triggerCentral.vvtCamCounter; +#endif +#if EFI_SHAFT_POSITION_INPUT case -1727829859: return engine->triggerCentral.mapVvt_MAP_AT_SPECIAL_POINT; +#endif +#if EFI_SHAFT_POSITION_INPUT case -1585778708: return engine->triggerCentral.mapVvt_MAP_AT_DIFF; +#endif +#if EFI_SHAFT_POSITION_INPUT case 1637661099: return engine->triggerCentral.mapVvt_MAP_AT_CYCLE_COUNT; +#endif +#if EFI_SHAFT_POSITION_INPUT case 845799744: return engine->triggerCentral.mapVvt_map_peak; +#endif +#if EFI_SHAFT_POSITION_INPUT case 162105111: return engine->triggerCentral.currentEngineDecodedPhase; +#endif +#if EFI_SHAFT_POSITION_INPUT case -280624712: return engine->triggerCentral.triggerToothAngleError; +#endif +#if EFI_SHAFT_POSITION_INPUT case 989545496: return engine->triggerCentral.triggerIgnoredToothCount; +#endif case 1242329357: return engine->dc_motors.dcOutput0; case -1236599226: return engine->dc_motors.isEnabled0_int; case 1691876092: return engine->dc_motors.isEnabled0; +#if EFI_VVT_PID case -2132393748: return ___engine.module()->vvtTarget; +#endif +#if EFI_VVT_PID case 1990697206: return ___engine.module()->vvtOutput; +#endif case 350535927: return ___engine.lambdaMonitor.lambdaCurrentlyGood; case 1849938842: diff --git a/firmware/controllers/lua/generated/value_lookup_generated.cpp b/firmware/controllers/lua/generated/value_lookup_generated.cpp index 58b44aa66d..bdf18a97fd 100644 --- a/firmware/controllers/lua/generated/value_lookup_generated.cpp +++ b/firmware/controllers/lua/generated/value_lookup_generated.cpp @@ -47,8 +47,6 @@ float getConfigValueByName(const char *name) { return engineConfiguration->etb_use_two_wires; case 1097520823: return engineConfiguration->isDoubleSolenoidIdle; - case -1572546086: - return engineConfiguration->useEeprom; case -1279270887: return engineConfiguration->useTLE8888_cranking_hack; case 1156367906: @@ -139,6 +137,8 @@ float getConfigValueByName(const char *name) { return engineConfiguration->triggerSimulatorRpm; case -1578655365: return engineConfiguration->cylindersCount; + case -107085459: + return engineConfiguration->vvtBumpAmount; case -1992436143: return engineConfiguration->benchTestOnTime; case 1425664391: @@ -347,8 +347,6 @@ float getConfigValueByName(const char *name) { return engineConfiguration->enableCanVss; case 1382521617: return engineConfiguration->enableInnovateLC2; - case 2046602309: - return engineConfiguration->showHumanReadableWarning; case 1838375282: return engineConfiguration->stftIgnoreErrorMagnitude; case -1724873939: @@ -357,6 +355,8 @@ float getConfigValueByName(const char *name) { return engineConfiguration->verboseVVTDecoding; case 1081026348: return engineConfiguration->invertCamVVTSignal; + case -253720028: + return engineConfiguration->alphaNUseIat; case 1509355728: return engineConfiguration->knockBankCyl1; case 1509355729: @@ -445,8 +445,6 @@ float getConfigValueByName(const char *name) { return engineConfiguration->widebandOnSecondBus; case 1611799720: return engineConfiguration->fuelClosedLoopCorrectionEnabled; - case -546057276: - return engineConfiguration->isVerboseIAC; case 885690524: return engineConfiguration->boardUseTachPullUp; case -1457484942: @@ -1007,6 +1005,72 @@ float getConfigValueByName(const char *name) { return engineConfiguration->ignTestCount; case 257613965: return engineConfiguration->ignTestOffTime; + case -846143628: + return engineConfiguration->canVssScaling; + case -1460957868: + return engineConfiguration->oilTempSensor.config.tempC_1; + case -1460957867: + return engineConfiguration->oilTempSensor.config.tempC_2; + case -1460957866: + return engineConfiguration->oilTempSensor.config.tempC_3; + case -1297544724: + return engineConfiguration->oilTempSensor.config.resistance_1; + case -1297544723: + return engineConfiguration->oilTempSensor.config.resistance_2; + case -1297544722: + return engineConfiguration->oilTempSensor.config.resistance_3; + case -346622972: + return engineConfiguration->oilTempSensor.config.bias_resistor; + case -713764196: + return engineConfiguration->fuelTempSensor.config.tempC_1; + case -713764195: + return engineConfiguration->fuelTempSensor.config.tempC_2; + case -713764194: + return engineConfiguration->fuelTempSensor.config.tempC_3; + case -1195844556: + return engineConfiguration->fuelTempSensor.config.resistance_1; + case -1195844555: + return engineConfiguration->fuelTempSensor.config.resistance_2; + case -1195844554: + return engineConfiguration->fuelTempSensor.config.resistance_3; + case -1285484724: + return engineConfiguration->fuelTempSensor.config.bias_resistor; + case 275986512: + return engineConfiguration->ambientTempSensor.config.tempC_1; + case 275986513: + return engineConfiguration->ambientTempSensor.config.tempC_2; + case 275986514: + return engineConfiguration->ambientTempSensor.config.tempC_3; + case -1084296600: + return engineConfiguration->ambientTempSensor.config.resistance_1; + case -1084296599: + return engineConfiguration->ambientTempSensor.config.resistance_2; + case -1084296598: + return engineConfiguration->ambientTempSensor.config.resistance_3; + case -1899369472: + return engineConfiguration->ambientTempSensor.config.bias_resistor; + case -498450107: + return engineConfiguration->compressorDischargeTemperature.config.tempC_1; + case -498450106: + return engineConfiguration->compressorDischargeTemperature.config.tempC_2; + case -498450105: + return engineConfiguration->compressorDischargeTemperature.config.tempC_3; + case 878369917: + return engineConfiguration->compressorDischargeTemperature.config.resistance_1; + case 878369918: + return engineConfiguration->compressorDischargeTemperature.config.resistance_2; + case 878369919: + return engineConfiguration->compressorDischargeTemperature.config.resistance_3; + case -1555883851: + return engineConfiguration->compressorDischargeTemperature.config.bias_resistor; + case 896753456: + return engineConfiguration->maxInjectorDutyInstant; + case 1651400031: + return engineConfiguration->maxInjectorDutySustained; + case 263235302: + return engineConfiguration->maxInjectorDutySustainedTimeout; + case 1007396714: + return engineConfiguration->speedometerPulsePerKm; } return EFI_ERROR_CODE; } @@ -1122,11 +1186,6 @@ void setConfigValueByName(const char *name, float value) { { engineConfiguration->isDoubleSolenoidIdle = (int)value; return; - } - case -1572546086: - { - engineConfiguration->useEeprom = (int)value; - return; } case -1279270887: { @@ -1352,6 +1411,11 @@ void setConfigValueByName(const char *name, float value) { { engineConfiguration->cylindersCount = (int)value; return; + } + case -107085459: + { + engineConfiguration->vvtBumpAmount = (int)value; + return; } case -1992436143: { @@ -1872,11 +1936,6 @@ void setConfigValueByName(const char *name, float value) { { engineConfiguration->enableInnovateLC2 = (int)value; return; - } - case 2046602309: - { - engineConfiguration->showHumanReadableWarning = (int)value; - return; } case 1838375282: { @@ -1897,6 +1956,11 @@ void setConfigValueByName(const char *name, float value) { { engineConfiguration->invertCamVVTSignal = (int)value; return; + } + case -253720028: + { + engineConfiguration->alphaNUseIat = (int)value; + return; } case 1509355728: { @@ -2117,11 +2181,6 @@ void setConfigValueByName(const char *name, float value) { { engineConfiguration->fuelClosedLoopCorrectionEnabled = (int)value; return; - } - case -546057276: - { - engineConfiguration->isVerboseIAC = (int)value; - return; } case 885690524: { @@ -3522,6 +3581,171 @@ void setConfigValueByName(const char *name, float value) { { engineConfiguration->ignTestOffTime = (int)value; return; + } + case -846143628: + { + engineConfiguration->canVssScaling = (int)value; + return; + } + case -1460957868: + { + engineConfiguration->oilTempSensor.config.tempC_1 = (int)value; + return; + } + case -1460957867: + { + engineConfiguration->oilTempSensor.config.tempC_2 = (int)value; + return; + } + case -1460957866: + { + engineConfiguration->oilTempSensor.config.tempC_3 = (int)value; + return; + } + case -1297544724: + { + engineConfiguration->oilTempSensor.config.resistance_1 = (int)value; + return; + } + case -1297544723: + { + engineConfiguration->oilTempSensor.config.resistance_2 = (int)value; + return; + } + case -1297544722: + { + engineConfiguration->oilTempSensor.config.resistance_3 = (int)value; + return; + } + case -346622972: + { + engineConfiguration->oilTempSensor.config.bias_resistor = (int)value; + return; + } + case -713764196: + { + engineConfiguration->fuelTempSensor.config.tempC_1 = (int)value; + return; + } + case -713764195: + { + engineConfiguration->fuelTempSensor.config.tempC_2 = (int)value; + return; + } + case -713764194: + { + engineConfiguration->fuelTempSensor.config.tempC_3 = (int)value; + return; + } + case -1195844556: + { + engineConfiguration->fuelTempSensor.config.resistance_1 = (int)value; + return; + } + case -1195844555: + { + engineConfiguration->fuelTempSensor.config.resistance_2 = (int)value; + return; + } + case -1195844554: + { + engineConfiguration->fuelTempSensor.config.resistance_3 = (int)value; + return; + } + case -1285484724: + { + engineConfiguration->fuelTempSensor.config.bias_resistor = (int)value; + return; + } + case 275986512: + { + engineConfiguration->ambientTempSensor.config.tempC_1 = (int)value; + return; + } + case 275986513: + { + engineConfiguration->ambientTempSensor.config.tempC_2 = (int)value; + return; + } + case 275986514: + { + engineConfiguration->ambientTempSensor.config.tempC_3 = (int)value; + return; + } + case -1084296600: + { + engineConfiguration->ambientTempSensor.config.resistance_1 = (int)value; + return; + } + case -1084296599: + { + engineConfiguration->ambientTempSensor.config.resistance_2 = (int)value; + return; + } + case -1084296598: + { + engineConfiguration->ambientTempSensor.config.resistance_3 = (int)value; + return; + } + case -1899369472: + { + engineConfiguration->ambientTempSensor.config.bias_resistor = (int)value; + return; + } + case -498450107: + { + engineConfiguration->compressorDischargeTemperature.config.tempC_1 = (int)value; + return; + } + case -498450106: + { + engineConfiguration->compressorDischargeTemperature.config.tempC_2 = (int)value; + return; + } + case -498450105: + { + engineConfiguration->compressorDischargeTemperature.config.tempC_3 = (int)value; + return; + } + case 878369917: + { + engineConfiguration->compressorDischargeTemperature.config.resistance_1 = (int)value; + return; + } + case 878369918: + { + engineConfiguration->compressorDischargeTemperature.config.resistance_2 = (int)value; + return; + } + case 878369919: + { + engineConfiguration->compressorDischargeTemperature.config.resistance_3 = (int)value; + return; + } + case -1555883851: + { + engineConfiguration->compressorDischargeTemperature.config.bias_resistor = (int)value; + return; + } + case 896753456: + { + engineConfiguration->maxInjectorDutyInstant = (int)value; + return; + } + case 1651400031: + { + engineConfiguration->maxInjectorDutySustained = (int)value; + return; + } + case 263235302: + { + engineConfiguration->maxInjectorDutySustainedTimeout = (int)value; + return; + } + case 1007396714: + { + engineConfiguration->speedometerPulsePerKm = (int)value; + return; } } } diff --git a/firmware/controllers/lua/generated/value_lookup_generated.md b/firmware/controllers/lua/generated/value_lookup_generated.md index ff5b4b9c8a..0f74c38318 100644 --- a/firmware/controllers/lua/generated/value_lookup_generated.md +++ b/firmware/controllers/lua/generated/value_lookup_generated.md @@ -64,9 +64,6 @@ TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. ### isDoubleSolenoidIdle Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position. -### useEeprom - - ### useTLE8888_cranking_hack @@ -95,7 +92,7 @@ For cranking either use the specified fixed base fuel mass, or use the normal ru ### verboseCan -Print incoming and outgoing first bus CAN messages in rusEFI console +Print incoming and outgoing first bus CAN messages in FOME console ### artificialTestMisfire Experimental setting that will cause a misfire\nDO NOT ENABLE. @@ -191,7 +188,7 @@ Pull-up resistor value on your board ### knockBandCustom -We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override +We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect ### displacement Engine displacement in litres @@ -202,6 +199,9 @@ Engine displacement in litres ### cylindersCount Number of cylinder the engine has. +### vvtBumpAmount + + ### benchTestOnTime Duration of each test pulse @@ -380,7 +380,7 @@ Just for reference really, not taken into account by any logic at this point enable sd/disable sd ### rusefiVerbose29b -Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. +Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format. ### isVerboseAlternator @@ -395,7 +395,7 @@ This setting should only be used if you have a stepper motor idle valve and a st ### enableVerboseCanTx -CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast +CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast ### etb1configured @@ -514,9 +514,6 @@ Read VSS from OEM CAN bus according to selected CAN vehicle configuration. ### enableInnovateLC2 -### showHumanReadableWarning - - ### stftIgnoreErrorMagnitude If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. @@ -529,6 +526,9 @@ Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details ### invertCamVVTSignal get invertCamVVTSignal +### alphaNUseIat +In Alpha-N mode, compensate for air temperature. + ### knockBankCyl1 @@ -575,7 +575,7 @@ get invertCamVVTSignal If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss ### verboseCan2 -Print incoming and outgoing second bus CAN messages in rusEFI console +Print incoming and outgoing second bus CAN messages in FOME console ### boostPid.pFactor @@ -661,9 +661,6 @@ Select which bus the wideband controller is attached to. ### fuelClosedLoopCorrectionEnabled Enables lambda sensor closed loop feedback for fuelling. -### isVerboseIAC -Print details into rusEFI console\nenable verbose_idle - ### boardUseTachPullUp @@ -698,10 +695,10 @@ Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% This enables smart alternator control and activates the extra alternator settings. ### invertPrimaryTriggerSignal -https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor. +Invert the signal from the primary trigger sensor. ### invertSecondaryTriggerSignal -https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor. +Invert the signal from the secondary trigger sensor. ### cutFuelOnHardLimit @@ -1504,3 +1501,102 @@ How many test bench pulses do you want ### ignTestOffTime Time between bench test pulses +### canVssScaling +Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead. + +### oilTempSensor.config.tempC_1 +these values are in Celcius + +### oilTempSensor.config.tempC_2 + + +### oilTempSensor.config.tempC_3 + + +### oilTempSensor.config.resistance_1 + + +### oilTempSensor.config.resistance_2 + + +### oilTempSensor.config.resistance_3 + + +### oilTempSensor.config.bias_resistor +Pull-up resistor value on your board + +### fuelTempSensor.config.tempC_1 +these values are in Celcius + +### fuelTempSensor.config.tempC_2 + + +### fuelTempSensor.config.tempC_3 + + +### fuelTempSensor.config.resistance_1 + + +### fuelTempSensor.config.resistance_2 + + +### fuelTempSensor.config.resistance_3 + + +### fuelTempSensor.config.bias_resistor +Pull-up resistor value on your board + +### ambientTempSensor.config.tempC_1 +these values are in Celcius + +### ambientTempSensor.config.tempC_2 + + +### ambientTempSensor.config.tempC_3 + + +### ambientTempSensor.config.resistance_1 + + +### ambientTempSensor.config.resistance_2 + + +### ambientTempSensor.config.resistance_3 + + +### ambientTempSensor.config.bias_resistor +Pull-up resistor value on your board + +### compressorDischargeTemperature.config.tempC_1 +these values are in Celcius + +### compressorDischargeTemperature.config.tempC_2 + + +### compressorDischargeTemperature.config.tempC_3 + + +### compressorDischargeTemperature.config.resistance_1 + + +### compressorDischargeTemperature.config.resistance_2 + + +### compressorDischargeTemperature.config.resistance_3 + + +### compressorDischargeTemperature.config.bias_resistor +Pull-up resistor value on your board + +### maxInjectorDutyInstant +If injector duty cycle hits this value, instantly cut fuel. + +### maxInjectorDutySustained +If injector duty cycle hits this value for the specified delay time, cut fuel. + +### maxInjectorDutySustainedTimeout +Timeout period for duty cycle over the sustained limit to trigger duty cycle protection. + +### speedometerPulsePerKm +Number of speedometer pulses per kilometer travelled. + diff --git a/firmware/controllers/lua/lua_can_rx.cpp b/firmware/controllers/lua/lua_can_rx.cpp index 4a89fe02bd..1d05a7d6c3 100644 --- a/firmware/controllers/lua/lua_can_rx.cpp +++ b/firmware/controllers/lua/lua_can_rx.cpp @@ -9,7 +9,7 @@ // Stores information about one received CAN frame: which bus, plus the actual frame struct CanFrameData { - uint8_t BusIndex; + CanBusIndex BusIndex; int Callback; CANRxFrame Frame; }; @@ -21,7 +21,7 @@ chibios_rt::Mailbox freeBuffers; // CAN frame buffers that are waiting to be processed by the lua thread chibios_rt::Mailbox filledBuffers; -void processLuaCan(const size_t busIndex, const CANRxFrame& frame) { +void processLuaCan(CanBusIndex busIndex, const CANRxFrame& frame) { auto filter = getFilterForId(busIndex, CAN_ID(frame)); // Filter the frame if we aren't listening for it @@ -75,7 +75,7 @@ static void handleCanFrame(LuaHandle& ls, CanFrameData* data) { auto dlc = data->Frame.DLC; // Push bus, ID and DLC - lua_pushinteger(ls, data->BusIndex); // TODO: support multiple busses! + lua_pushinteger(ls, static_cast(data->BusIndex)); lua_pushinteger(ls, CAN_ID(data->Frame)); lua_pushinteger(ls, dlc); diff --git a/firmware/controllers/lua/lua_hooks.cpp b/firmware/controllers/lua/lua_hooks.cpp index 43d595df90..de09b5000c 100644 --- a/firmware/controllers/lua/lua_hooks.cpp +++ b/firmware/controllers/lua/lua_hooks.cpp @@ -43,8 +43,8 @@ static int lua_vin(lua_State* l) { } static int lua_readpin(lua_State* l) { - auto msg = luaL_checkstring(l, 1); #if EFI_PROD_CODE + auto msg = luaL_checkstring(l, 1); brain_pin_e pin = parseBrainPin(msg); if (!isBrainPinValid(pin)) { lua_pushnil(l); @@ -153,11 +153,11 @@ static uint32_t getArray(lua_State* l, int paramIndex, uint8_t *data, uint32_t s #if EFI_CAN_SUPPORT || EFI_UNIT_TEST -static int validateCanChannelAndConvertFromHumanIntoZeroIndex(lua_State* l) { +static CanBusIndex validateCanChannelAndConvertFromHumanIntoZeroIndex(lua_State* l) { lua_Integer channel = luaL_checkinteger(l, 1); // TODO: support multiple channels luaL_argcheck(l, channel == 1 || channel == 2, 1, "only buses 1 and 2 currently supported"); - return channel - HUMAN_OFFSET; + return static_cast(channel - HUMAN_OFFSET); } static int lua_txCan(lua_State* l) { @@ -174,8 +174,7 @@ static int lua_txCan(lua_State* l) { } // conform ext parameter to true/false - CanTxMessage msg(id, 8, 0, ext == 0 ? false : true); - msg.busIndex = bus; + CanTxMessage msg(id, 8, bus, ext == 0 ? false : true); // Unfortunately there is no way to inspect the length of a table, // so we have to just iterate until we run out of numbers @@ -507,7 +506,7 @@ int lua_canRxAdd(lua_State* l) { uint32_t eid; // defaults if not passed - int bus = ANY_BUS; + CanBusIndex bus = CanBusIndex::Any; int callback = NO_CALLBACK; switch (lua_gettop(l)) { @@ -551,7 +550,7 @@ int lua_canRxAddMask(lua_State* l) { uint32_t mask; // defaults if not passed - int bus = ANY_BUS; + CanBusIndex bus = CanBusIndex::Any; int callback = NO_CALLBACK; switch (lua_gettop(l)) { @@ -628,61 +627,61 @@ void configureRusefiLuaHooks(lua_State* l) { lua_register(l, "getSensor", lua_getSensorByName); lua_register(l, "getSensorRaw", lua_getSensorRaw); lua_register(l, "hasSensor", lua_hasSensor); - lua_register(l, "table3d", [](lua_State* l) { - auto humanTableIdx = luaL_checkinteger(l, 1); - auto x = luaL_checknumber(l, 2); - auto y = luaL_checknumber(l, 3); + lua_register(l, "table3d", [](lua_State* l2) { + auto humanTableIdx = luaL_checkinteger(l2, 1); + auto x = luaL_checknumber(l2, 2); + auto y = luaL_checknumber(l2, 3); // index table, compute table lookup auto result = getscriptTable(humanTableIdx - HUMAN_OFFSET)->getValue(x, y); - lua_pushnumber(l, result); + lua_pushnumber(l2, result); return 1; }); - lua_register(l, "curve", [](lua_State* l) { + lua_register(l, "curve", [](lua_State* l2) { // index starting from 1 - auto humanCurveIdx = luaL_checkinteger(l, 1); - auto x = luaL_checknumber(l, 2); + auto humanCurveIdx = luaL_checkinteger(l2, 1); + auto x = luaL_checknumber(l2, 2); auto result = getCurveValue(humanCurveIdx - HUMAN_OFFSET, x); - lua_pushnumber(l, result); + lua_pushnumber(l2, result); return 1; }); #if EFI_SENT_SUPPORT lua_register(l, "getSentValue", - [](lua_State* l) { - auto humanIndex = luaL_checkinteger(l, 1); + [](lua_State* l2) { + auto humanIndex = luaL_checkinteger(l2, 1); auto value = getSentValue(humanIndex - 1); - lua_pushnumber(l, value); + lua_pushnumber(l2, value); return 1; }); lua_register(l, "getSentValues", - [](lua_State* l) { + [](lua_State* l2) { uint16_t sig0; uint16_t sig1; - auto humanIndex = luaL_checkinteger(l, 1); - auto ret = getSentValues(humanIndex - 1, &sig0, &sig1); - lua_pushnumber(l, sig0); - lua_pushnumber(l, sig1); + auto humanIndex = luaL_checkinteger(l2, 1); + getSentValues(humanIndex - 1, &sig0, &sig1); + lua_pushnumber(l2, sig0); + lua_pushnumber(l2, sig1); return 2; }); #endif // EFI_SENT_SUPPORT #if EFI_LAUNCH_CONTROL - lua_register(l, "setSparkSkipRatio", [](lua_State* l) { - auto targetSkipRatio = luaL_checknumber(l, 1); + lua_register(l, "setSparkSkipRatio", [](lua_State* l2) { + auto targetSkipRatio = luaL_checknumber(l2, 1); engine->softSparkLimiter.setTargetSkipRatio(targetSkipRatio); return 1; }); #endif // EFI_LAUNCH_CONTROL #if EFI_SHAFT_POSITION_INPUT && !EFI_UNIT_TEST - lua_register(l, "selfStimulateRPM", [](lua_State* l) { - auto rpm = luaL_checkinteger(l, 1); + lua_register(l, "selfStimulateRPM", [](lua_State* l2) { + auto rpm = luaL_checkinteger(l2, 1); if (rpm < 1) { disableTriggerStimulator(); return 0; @@ -698,9 +697,9 @@ void configureRusefiLuaHooks(lua_State* l) { /** * same exact could be accomplished via LuaSensor just with more API */ - lua_register(l, "setLuaGauge", [](lua_State* l) { - auto index = luaL_checkinteger(l, 1) - 1; - auto value = luaL_checknumber(l, 2); + lua_register(l, "setLuaGauge", [](lua_State* l2) { + auto index = luaL_checkinteger(l2, 1) - 1; + auto value = luaL_checknumber(l2, 2); if (index < 0 || index >= LUA_GAUGE_COUNT) return 0; extern StoredValueSensor luaGauges[LUA_GAUGE_COUNT]; @@ -708,13 +707,13 @@ void configureRusefiLuaHooks(lua_State* l) { return 0; }); - lua_register(l, "enableCanTx", [](lua_State* l) { - engine->allowCanTx = lua_toboolean(l, 1); + lua_register(l, "enableCanTx", [](lua_State* l2) { + engine->allowCanTx = lua_toboolean(l2, 1); return 0; }); #if EFI_PROD_CODE - lua_register(l, "restartEtb", [](lua_State* l) { + lua_register(l, "restartEtb", [](lua_State* l2) { // this is about Lua sensor acting in place of real analog PPS sensor // todo: smarter implementation doInitElectronicThrottle(); @@ -722,103 +721,103 @@ void configureRusefiLuaHooks(lua_State* l) { }); #endif // EFI_PROD_CODE - lua_register(l, "crc8_j1850", [](lua_State* l) { + lua_register(l, "crc8_j1850", [](lua_State* l2) { uint8_t data[8]; - uint32_t length = getArray(l, 1, data, sizeof(data)); - auto trimLength = luaL_checkinteger(l, 2); + uint32_t length = getArray(l2, 1, data, sizeof(data)); + auto trimLength = luaL_checkinteger(l2, 2); int crc = crc8(data, minI(length, trimLength)); - lua_pushnumber(l, crc); + lua_pushnumber(l2, crc); return 1; }); #if EFI_BOOST_CONTROL - lua_register(l, "setBoostTargetAdd", [](lua_State* l) { - engine->boostController.luaTargetAdd = luaL_checknumber(l, 1); + lua_register(l, "setBoostTargetAdd", [](lua_State* l2) { + engine->module().unmock().luaTargetAdd = luaL_checknumber(l2, 1); return 0; }); - lua_register(l, "setBoostTargetMult", [](lua_State* l) { - engine->boostController.luaTargetMult = luaL_checknumber(l, 1); + lua_register(l, "setBoostTargetMult", [](lua_State* l2) { + engine->module().unmock().luaTargetMult = luaL_checknumber(l2, 1); return 0; }); - lua_register(l, "setBoostDutyAdd", [](lua_State* l) { - engine->boostController.luaOpenLoopAdd = luaL_checknumber(l, 1); + lua_register(l, "setBoostDutyAdd", [](lua_State* l2) { + engine->module().unmock().luaOpenLoopAdd = luaL_checknumber(l2, 1); return 0; }); #endif // EFI_BOOST_CONTROL #if EFI_IDLE_CONTROL - lua_register(l, "setIdleAdd", [](lua_State* l) { - engine->module().unmock().luaAdd = luaL_checknumber(l, 1); + lua_register(l, "setIdleAdd", [](lua_State* l2) { + engine->module().unmock().luaAdd = luaL_checknumber(l2, 1); return 0; }); #endif - lua_register(l, "setTimingAdd", [](lua_State* l) { - engine->ignitionState.luaTimingAdd = luaL_checknumber(l, 1); + lua_register(l, "setTimingAdd", [](lua_State* l2) { + engine->ignitionState.luaTimingAdd = luaL_checknumber(l2, 1); return 0; }); - lua_register(l, "setTimingMult", [](lua_State* l) { - engine->ignitionState.luaTimingMult = luaL_checknumber(l, 1); + lua_register(l, "setTimingMult", [](lua_State* l2) { + engine->ignitionState.luaTimingMult = luaL_checknumber(l2, 1); return 0; }); - lua_register(l, "setFuelAdd", [](lua_State* l) { - engine->engineState.lua.fuelAdd = luaL_checknumber(l, 1); + lua_register(l, "setFuelAdd", [](lua_State* l2) { + engine->engineState.lua.fuelAdd = luaL_checknumber(l2, 1); return 0; }); - lua_register(l, "setFuelMult", [](lua_State* l) { - engine->engineState.lua.fuelMult = luaL_checknumber(l, 1); + lua_register(l, "setFuelMult", [](lua_State* l2) { + engine->engineState.lua.fuelMult = luaL_checknumber(l2, 1); return 0; }); #if EFI_PROD_CODE - lua_register(l, "setEtbAdd", [](lua_State* l) { - auto luaAdjustment = luaL_checknumber(l, 1); + lua_register(l, "setEtbAdd", [](lua_State* l2) { + auto luaAdjustment = luaL_checknumber(l2, 1); setEtbLuaAdjustment(luaAdjustment); return 0; }); - lua_register(l, "setEtbDisabled", [](lua_State* l) { - engine->engineState.lua.luaDisableEtb = lua_toboolean(l, 1); + lua_register(l, "setEtbDisabled", [](lua_State* l2) { + engine->engineState.lua.luaDisableEtb = lua_toboolean(l2, 1); return 0; }); - lua_register(l, "setIgnDisabled", [](lua_State* l) { - engine->engineState.lua.luaIgnCut = lua_toboolean(l, 1); + lua_register(l, "setIgnDisabled", [](lua_State* l2) { + engine->engineState.lua.luaIgnCut = lua_toboolean(l2, 1); return 0; }); #endif // EFI_PROD_CODE - lua_register(l, "setClutchUpState", [](lua_State* l) { - engine->engineState.lua.clutchUpState = lua_toboolean(l, 1); + lua_register(l, "setClutchUpState", [](lua_State* l2) { + engine->engineState.lua.clutchUpState = lua_toboolean(l2, 1); return 0; }); - lua_register(l, "setBrakePedalState", [](lua_State* l) { - engine->engineState.lua.brakePedalState = lua_toboolean(l, 1); + lua_register(l, "setBrakePedalState", [](lua_State* l2) { + engine->engineState.lua.brakePedalState = lua_toboolean(l2, 1); return 0; }); - lua_register(l, "setAcRequestState", [](lua_State* l) { - engine->engineState.lua.acRequestState = lua_toboolean(l, 1); + lua_register(l, "setAcRequestState", [](lua_State* l2) { + engine->engineState.lua.acRequestState = lua_toboolean(l2, 1); return 0; }); - lua_register(l, "getCalibration", [](lua_State* l) { - auto propertyName = luaL_checklstring(l, 1, nullptr); + lua_register(l, "getCalibration", [](lua_State* l2) { + auto propertyName = luaL_checklstring(l2, 1, nullptr); auto result = getConfigValueByName(propertyName); - lua_pushnumber(l, result); + lua_pushnumber(l2, result); return 1; }); #if EFI_PROD_CODE || EFI_SIMULATOR - lua_register(l, "getOutput", [](lua_State* l) { - auto propertyName = luaL_checklstring(l, 1, nullptr); + lua_register(l, "getOutput", [](lua_State* l2) { + auto propertyName = luaL_checklstring(l2, 1, nullptr); auto result = getOutputValueByName(propertyName); - lua_pushnumber(l, result); + lua_pushnumber(l2, result); return 1; }); #endif // EFI_PROD_CODE || EFI_SIMULATOR #if EFI_SHAFT_POSITION_INPUT - lua_register(l, "getEngineState", [](lua_State* l) { + lua_register(l, "getEngineState", [](lua_State* l2) { spinning_state_e state = engine->rpmCalculator.getState(); int luaStateCode; if (state == STOPPED) { @@ -829,15 +828,15 @@ void configureRusefiLuaHooks(lua_State* l) { // spinning-up or cranking luaStateCode = 1; } - lua_pushnumber(l, luaStateCode); + lua_pushnumber(l2, luaStateCode); return 1; }); #endif //EFI_SHAFT_POSITION_INPUT - lua_register(l, "setCalibration", [](lua_State* l) { - auto propertyName = luaL_checklstring(l, 1, nullptr); - auto value = luaL_checknumber(l, 2); - auto incrementVersion = lua_toboolean(l, 3); + lua_register(l, "setCalibration", [](lua_State* l2) { + auto propertyName = luaL_checklstring(l2, 1, nullptr); + auto value = luaL_checknumber(l2, 2); + auto incrementVersion = lua_toboolean(l2, 3); setConfigValueByName(propertyName, value); if (incrementVersion) { incrementGlobalConfigurationVersion(); @@ -845,31 +844,31 @@ void configureRusefiLuaHooks(lua_State* l) { return 0; }); - lua_register(l, "getGlobalConfigurationVersion", [](lua_State* l) { - lua_pushnumber(l, engine->getGlobalConfigurationVersion()); + lua_register(l, "getGlobalConfigurationVersion", [](lua_State* l2) { + lua_pushnumber(l2, engine->getGlobalConfigurationVersion()); return 1; }); - lua_register(l, "setAcDisabled", [](lua_State* l) { - auto value = lua_toboolean(l, 1); + lua_register(l, "setAcDisabled", [](lua_State* l2) { + auto value = lua_toboolean(l2, 1); engine->module().unmock().isDisabledByLua = value; return 0; }); - lua_register(l, "getTimeSinceAcToggleMs", [](lua_State* l) { + lua_register(l, "getTimeSinceAcToggleMs", [](lua_State* l2) { int result = US2MS(getTimeNowUs()) - engine->module().unmock().acSwitchLastChangeTimeMs; - lua_pushnumber(l, result); + lua_pushnumber(l2, result); return 1; }); #if EFI_VEHICLE_SPEED - lua_register(l, "getCurrentGear", [](lua_State* l) { - lua_pushinteger(l, Sensor::getOrZero(SensorType::DetectedGear)); + lua_register(l, "getCurrentGear", [](lua_State* l2) { + lua_pushinteger(l2, Sensor::getOrZero(SensorType::DetectedGear)); return 1; }); - lua_register(l, "getRpmInGear", [](lua_State* l) { - auto idx = luaL_checkinteger(l, 1); - lua_pushinteger(l, engine->module()->getRpmInGear(idx)); + lua_register(l, "getRpmInGear", [](lua_State* l2) { + auto idx = luaL_checkinteger(l2, 1); + lua_pushinteger(l2, engine->module()->getRpmInGear(idx)); return 1; }); #endif // EFI_VEHICLE_SPEED @@ -890,9 +889,9 @@ void configureRusefiLuaHooks(lua_State* l) { return 0; }); #if EFI_SHAFT_POSITION_INPUT - lua_register(l, "getTimeSinceTriggerEventMs", [](lua_State* l) { + lua_register(l, "getTimeSinceTriggerEventMs", [](lua_State* l2) { int result = engine->triggerCentral.m_lastEventTimer.getElapsedUs() / 1000; - lua_pushnumber(l, result); + lua_pushnumber(l2, result); return 1; }); #endif // EFI_SHAFT_POSITION_INPUT @@ -906,4 +905,9 @@ void configureRusefiLuaHooks(lua_State* l) { #if EFI_CAN_SUPPORT || EFI_UNIT_TEST lua_register(l, "txCan", lua_txCan); #endif + + lua_register(l, "resetOdometer", [](lua_State*) { + engine->module()->reset(); + return 0; + }); } diff --git a/firmware/controllers/lua/lua_hooks_util.cpp b/firmware/controllers/lua/lua_hooks_util.cpp index e930fdd86c..e6e13a51d8 100644 --- a/firmware/controllers/lua/lua_hooks_util.cpp +++ b/firmware/controllers/lua/lua_hooks_util.cpp @@ -40,42 +40,42 @@ void configureRusefiLuaUtilHooks(lua_State* l) { lua_register(l, "print", lua_efi_print); lua_register(l, "interpolate", lua_interpolate); - lua_register(l, "findCurveIndex", [](lua_State* l) { - auto name = luaL_checklstring(l, 1, nullptr); + lua_register(l, "findCurveIndex", [](lua_State* l2) { + auto name = luaL_checklstring(l2, 1, nullptr); auto result = getCurveIndexByName(name); if (!result) { - lua_pushnil(l); + lua_pushnil(l2); } else { // TS counts curve from 1 so convert indexing here - lua_pushnumber(l, result.Value + HUMAN_OFFSET); + lua_pushnumber(l2, result.Value + HUMAN_OFFSET); } return 1; }); lua_register(l, "findTableIndex", - [](lua_State* l) { - auto name = luaL_checklstring(l, 1, nullptr); + [](lua_State* l2) { + auto name = luaL_checklstring(l2, 1, nullptr); auto index = getTableIndexByName(name); if (!index) { - lua_pushnil(l); + lua_pushnil(l2); } else { // TS counts curve from 1 so convert indexing here - lua_pushnumber(l, index.Value + HUMAN_OFFSET); + lua_pushnumber(l2, index.Value + HUMAN_OFFSET); } return 1; }); lua_register(l, "findSetting", - [](lua_State* l) { - auto name = luaL_checklstring(l, 1, nullptr); - auto defaultValue = luaL_checknumber(l, 2); + [](lua_State* l2) { + auto name = luaL_checklstring(l2, 1, nullptr); + auto defaultValue = luaL_checknumber(l2, 2); auto index = getSettingIndexByName(name); if (!index) { - lua_pushnumber(l, defaultValue); + lua_pushnumber(l2, defaultValue); } else { // TS counts curve from 1 so convert indexing here - lua_pushnumber(l, engineConfiguration->scriptSetting[index.Value]); + lua_pushnumber(l2, engineConfiguration->scriptSetting[index.Value]); } return 1; }); diff --git a/firmware/controllers/lua/rusefi_lua.h b/firmware/controllers/lua/rusefi_lua.h index 322b1655b2..85f14e8ee5 100644 --- a/firmware/controllers/lua/rusefi_lua.h +++ b/firmware/controllers/lua/rusefi_lua.h @@ -62,5 +62,5 @@ void initLuaCanRx(); // Called from the Lua loop to process any pending CAN frames void doLuaCanRx(LuaHandle& ls); // Called from the CAN RX thread to queue a frame for Lua consumption -void processLuaCan(const size_t busIndex, const CANRxFrame& frame); +void processLuaCan(CanBusIndex busIndex, const CANRxFrame& frame); #endif // not EFI_CAN_SUPPORT diff --git a/firmware/controllers/math/engine_math.cpp b/firmware/controllers/math/engine_math.cpp index 8920c36a31..33c230a088 100644 --- a/firmware/controllers/math/engine_math.cpp +++ b/firmware/controllers/math/engine_math.cpp @@ -30,11 +30,6 @@ extern bool verboseMode; #endif /* EFI_UNIT_TEST */ -angle_t wrapAngleMethod(angle_t param, const char *msg, ObdCode code) { - fixAngle(param, msg, code); - return param; -} - floatms_t getEngineCycleDuration(int rpm) { return getCrankshaftRevolutionTimeMs(rpm) * (getEngineRotationState()->getOperationMode() == TWO_STROKE ? 1 : 2); } diff --git a/firmware/controllers/math/engine_math.h b/firmware/controllers/math/engine_math.h index 2e926292d0..8b48618e0f 100644 --- a/firmware/controllers/math/engine_math.h +++ b/firmware/controllers/math/engine_math.h @@ -13,17 +13,6 @@ void setAlgorithm(engine_load_mode_e algo); void setFlatInjectorLag(float value); -/** - * See also wrapVvt - * TODO: replace all usages of fixAngle with wrapAngle? - * Should we make this a nice method instead of that off macro which changes parameter value? - */ -#define fixAngle(angle, msg, code) wrapAngle2(angle, msg, code, getEngineState()->engineCycle) -#define wrapAngle(angle, msg, code) fixAngle(angle, msg, code) - -// proper method avoids un-wrapped state of variables -angle_t wrapAngleMethod(angle_t param, const char *msg, ObdCode code); - /** * @return time needed to rotate crankshaft by one degree, in milliseconds. * @deprecated use at least Us, maybe even Nt diff --git a/firmware/controllers/math/math.mk b/firmware/controllers/math/math.mk index 43515b20c1..c7ea19b841 100644 --- a/firmware/controllers/math/math.mk +++ b/firmware/controllers/math/math.mk @@ -1,6 +1,5 @@ CONTROLLERS_MATH_SRC_CPP = $(PROJECT_DIR)/controllers/math/engine_math.cpp \ - $(PROJECT_DIR)/controllers/math/pid_auto_tune.cpp \ $(PROJECT_DIR)/controllers/math/speed_density.cpp \ $(PROJECT_DIR)/controllers/math/closed_loop_fuel.cpp \ $(PROJECT_DIR)/controllers/math/closed_loop_fuel_cell.cpp \ diff --git a/firmware/controllers/math/pid_auto_tune.cpp b/firmware/controllers/math/pid_auto_tune.cpp deleted file mode 100644 index a52e364589..0000000000 --- a/firmware/controllers/math/pid_auto_tune.cpp +++ /dev/null @@ -1,855 +0,0 @@ -/* - * pid_auto_tune.cpp - * - * See https://github.com/br3ttb/Arduino-PID-AutoTune-Library/blob/master/PID_AutoTune_v0/PID_AutoTune_v0.cpp - * See https://github.com/t0mpr1c3/Arduino-PID-AutoTune-Library/blob/master/PID_AutoTune_v0/PID_AutoTune_v0.cpp - * - * - * Created on: Sep 13, 2017 - */ - -// source of Tyreus-Luyben and Ciancone-Marlin rules: -// "Autotuning of PID Controllers: A Relay Feedback Approach", -// by Cheng-Ching Yu, 2nd Edition, p.18 -// Tyreus-Luyben is more conservative than Ziegler-Nichols -// and is preferred for lag dominated processes -// Ciancone-Marlin is preferred for delay dominated processes -// Ziegler-Nichols is intended for best disturbance rejection -// can lack robustness especially for lag dominated processes - -// source for Pessen Integral, Some Overshoot, and No Overshoot rules: -// "Rule-Based Autotuning Based on Frequency Domain Identification" -// by Anthony S. McCormack and Keith R. Godfrey -// IEEE Transactions on Control Systems Technology, vol 6 no 1, January 1998. -// as reported on http://www.mstarlabs.com/control/znrule.html - -#include "pch.h" - -#include "pid_auto_tune.h" - -#if EFI_UNIT_TEST -extern bool verboseMode; -#endif /* EFI_UNIT_TEST */ - -// see https://en.wikipedia.org/wiki/Ziegler%E2%80%93Nichols_method -// order must be match enumerated type for auto tune methods -Tuning tuningRule[PID_AutoTune::NO_OVERSHOOT_PID + 1] = -{ - { { 44, 24, 0 } }, // ZIEGLER_NICHOLS_PI - { { 34, 40, 160 } }, // ZIEGLER_NICHOLS_PID - { { 64, 9, 0 } }, // TYREUS_LUYBEN_PI - { { 44, 9, 126 } }, // TYREUS_LUYBEN_PID - { { 66, 80, 0 } }, // CIANCONE_MARLIN_PI - { { 66, 88, 162 } }, // CIANCONE_MARLIN_PID - { { 28, 50, 133 } }, // PESSEN_INTEGRAL_PID - { { 60, 40, 60 } }, // SOME_OVERSHOOT_PID - { { 100, 40, 60 } } // NO_OVERSHOOT_PID -}; - -PID_AutoTune::PID_AutoTune() { - reset(); -} - -void PID_AutoTune::Cancel() -{ - state = AUTOTUNER_OFF; -} - -void PID_AutoTune::reset() { - - controlType = ZIEGLER_NICHOLS_PID; - noiseBand = 0.5; - state = AUTOTUNER_OFF; // cannot invoke setter here since logger is not initialized yet - oStep = 10.0; - memset(lastPeaks, 0, sizeof(lastPeaks)); - memset(lastInputs, 0, sizeof(lastInputs)); - - logger = nullptr; - input = output = 0; - SetLookbackSec(10); - -} - -void PID_AutoTune::SetLookbackSec(int value) -{ - if (value < 1) - { - value = 1; - } - if (value < 25) - { - nLookBack = value * 4; - sampleTime = 250; - } - else - { - nLookBack = 100; - sampleTime = value * 10; - } -} - -double inline PID_AutoTune::fastArcTan(double x) -{ - // source: �Efficient approximations for the arctangent function�, Rajan, S. Sichun Wang Inkol, R. Joyal, A., May 2006 - //return CONST_PI / 4.0 * x - x * (abs(x) - 1.0) * (0.2447 + 0.0663 * abs(x)); - - // source: "Understanding Digital Signal Processing", 2nd Ed, Richard G. Lyons, eq. 13-107 - return x / (1.0 + 0.28125 * pow(x, 2)); -} - -double PID_AutoTune::calculatePhaseLag(double inducedAmplitude) -{ - // calculate phase lag - // NB hysteresis = 2 * noiseBand; - double ratio = 2.0 * workingNoiseBand / inducedAmplitude; - if (ratio > 1.0) - { - return CONST_PI / 2.0; - } - else - { - //return CONST_PI - asin(ratio); - return CONST_PI - fastArcTan(ratio / sqrt( 1.0 - pow(ratio, 2))); - } -} - -void PID_AutoTune::setState(PidAutoTune_AutoTunerState state) { - this->state = state; - efiPrintf("setState %s", getPidAutoTune_AutoTunerState(state)); -#if EFI_UNIT_TEST - if (verboseMode) - printf("setState %s\r\n", getPidAutoTune_AutoTunerState(state)); -#endif /* EFI_UNIT_TEST */ -} - -void PID_AutoTune::setPeakType(PidAutoTune_Peak peakType) { - this->peakType = peakType; - efiPrintf("setPeakType %s", getPidAutoTune_Peak(peakType)); -#if EFI_UNIT_TEST - if (verboseMode) - printf("peakType %s\r\n", getPidAutoTune_Peak(peakType)); -#endif /* EFI_UNIT_TEST */ -} - -/** - * returns true when done, otherwise returns false - */ -bool PID_AutoTune::Runtime(Logging *logger) -{ - - this->logger = logger; // a bit lazy but good enough - // check ready for new input - unsigned long now = getTimeNowMs(); - - if (state == AUTOTUNER_OFF) - { - // initialize working variables the first time around - setPeakType(NOT_A_PEAK); - inputCount = 0; - peakCount = 0; - setpoint = input; - outputStart = output; - lastPeakTime[0] = now; - workingNoiseBand = noiseBand; - newWorkingNoiseBand = noiseBand; - workingOutputstep = oStep; - -#if defined (AUTOTUNE_RELAY_BIAS) - relayBias = 0.0; - stepCount = 0; - lastStepTime[0] = now; - sumInputSinceLastStep[0] = 0.0; -#endif - - // move to new state - if (controlType == AMIGOF_PI) - { - setState(STEADY_STATE_AT_BASELINE); - } - else - { - efiPrintf("starting..."); - setState(RELAY_STEP_UP); - } - } - - // otherwise check ready for new input - else if ((now - lastTime) < sampleTime) - { -#if EFI_UNIT_TEST - if (verboseMode) - printf("too soon for new input %d %d %d\r\n", now, lastTime, sampleTime); -#endif /* EFI_UNIT_TEST */ - efiPrintf("AT skipping now=%d %d %d", now, lastTime, sampleTime); - - return false; - } - - // get new input - lastTime = now; - double refVal = input; - -#if defined (AUTOTUNE_RELAY_BIAS) - // used to calculate relay bias - sumInputSinceLastStep[0] += refVal; -#endif - - // local flag variable - bool justChanged = false; - - // check input and change relay state if necessary - if ((state == RELAY_STEP_UP) && (refVal > setpoint + workingNoiseBand)) - { - efiPrintf("noise crossed up %f s=%f n=%f", refVal, setpoint, workingNoiseBand); - setState(RELAY_STEP_DOWN); - justChanged = true; - } - else if ((state == RELAY_STEP_DOWN) && (refVal < setpoint - workingNoiseBand)) - { - efiPrintf("noise crossed down %f s=%f n=%f", refVal, setpoint, workingNoiseBand); - setState(RELAY_STEP_UP); - justChanged = true; - } - if (justChanged) - { - workingNoiseBand = newWorkingNoiseBand; - -#if defined (AUTOTUNE_RELAY_BIAS) - // check symmetry of oscillation - // and introduce relay bias if necessary - if (stepCount > 4) - { - double avgStep1 = 0.5 * (double) ((lastStepTime[0] - lastStepTime[1]) + (lastStepTime[2] - lastStepTime[3])); - double avgStep2 = 0.5 * (double) ((lastStepTime[1] - lastStepTime[2]) + (lastStepTime[3] - lastStepTime[4])); - if ((avgStep1 > 1e-10) && (avgStep2 > 1e-10)) - { - double asymmetry = (avgStep1 > avgStep2) ? - (avgStep1 - avgStep2) / avgStep1 : (avgStep2 - avgStep1) / avgStep2; - -#if defined (AUTOTUNE_DEBUG) - Serial.print(F("asymmetry ")); - Serial.println(asymmetry); -#endif /* AUTOTUNE_DEBUG */ - -#if EFI_UNIT_TEST - if (verboseMode) { - printf("asymmetry=%f\r\n", asymmetry); - } -#endif /* EFI_UNIT_TEST */ - - if (asymmetry > AUTOTUNE_STEP_ASYMMETRY_TOLERANCE) - { - // relay steps are asymmetric - // calculate relay bias using - // "Autotuning of PID Controllers: A Relay Feedback Approach", - // by Cheng-Ching Yu, 2nd Edition, equation 7.39, p. 148 - - // calculate change in relay bias - double deltaRelayBias = - processValueOffset(avgStep1, avgStep2) * workingOstep; - if (state == RELAY_STEP_DOWN) - { - deltaRelayBias = -deltaRelayBias; - } - - if (abs(deltaRelayBias) > workingOstep * AUTOTUNE_STEP_ASYMMETRY_TOLERANCE) - { - // change is large enough to bother with - relayBias += deltaRelayBias; - - /* - // adjust step height with respect to output limits - // commented out because the auto tuner does not - // necessarily know what the output limits are - double relayHigh = outputStart + workingOstep + relayBias; - double relayLow = outputStart - workingOstep + relayBias; - if (relayHigh > outMax) - { - relayHigh = outMax; - } - if (relayLow < outMin) - { - relayHigh = outMin; - } - workingOstep = 0.5 * (relayHigh - relayLow); - relayBias = relayHigh - outputStart - workingOstep; - */ - -#if defined (AUTOTUNE_DEBUG) - Serial.print(F("deltaRelayBias ")); - Serial.println(deltaRelayBias); - Serial.print(F("relayBias ")); - Serial.println(relayBias); -#endif /* AUTOTUNE_DEBUG */ - -#if EFI_UNIT_TEST - if (verboseMode) { - printf("deltaRelayBias=%f relayBias=%f\r\n", deltaRelayBias, relayBias); - } -#endif /* EFI_UNIT_TEST */ - - // reset relay step counter - // to give the process value oscillation - // time to settle with the new relay bias value - stepCount = 0; - } - } - } - } - - // shift step time and integrated process value arrays - for (byte i = (stepCount > 4 ? 4 : stepCount); i > 0; i--) - { - lastStepTime[i] = lastStepTime[i - 1]; - sumInputSinceLastStep[i] = sumInputSinceLastStep[i - 1]; - } - stepCount++; - lastStepTime[0] = now; - sumInputSinceLastStep[0] = 0.0; - -#if defined (AUTOTUNE_DEBUG) - for (byte i = 1; i < (stepCount > 4 ? 5 : stepCount); i++) - { - Serial.print(F("step time ")); - Serial.println(lastStepTime[i]); - Serial.print(F("step sum ")); - Serial.println(sumInputSinceLastStep[i]); - } -#endif /* AUTOTUNE_DEBUG */ - -#endif // if defined AUTOTUNE_RELAY_BIAS - - } // if justChanged - - // set output - // FIXME need to respect output limits - // not knowing output limits is one reason - // to pass entire PID object to autotune method(s) - if (((byte) state & (STEADY_STATE_AFTER_STEP_UP | RELAY_STEP_UP)) > 0) - { - -#if defined (AUTOTUNE_RELAY_BIAS) - setOutput(outputStart + workingOstep + relayBias); -#else - efiPrintf("AT adding %f", workingOutputstep); - setOutput(outputStart + workingOutputstep); -#endif - - } - else if (state == RELAY_STEP_DOWN) - { - -#if defined (AUTOTUNE_RELAY_BIAS) - setOutput(outputStart - workingOstep + relayBias); -#else - efiPrintf("AT subtracting %f", workingOutputstep); - setOutput(outputStart - workingOutputstep); -#endif - - } - -#if defined (AUTOTUNE_DEBUG) - Serial.print(F("refVal ")); - Serial.println(refVal); - Serial.print(F("setpoint ")); - Serial.println(setpoint); - Serial.print(F("output ")); - Serial.println(output); - Serial.print(F("state ")); - Serial.println(state); -#endif - -#if EFI_UNIT_TEST - if (verboseMode) { - printf("setpoint=%f refVal=%f\r\n", setpoint, refVal); - } -#endif /* EFI_UNIT_TEST */ - - // store initial inputs - // we don't want to trust the maxes or mins - // until the input array is full - inputCount++; - if (inputCount <= nLookBack) - { - lastInputs[nLookBack - inputCount] = refVal; - efiPrintf("AT need more data %d %d", inputCount, nLookBack); -#if EFI_UNIT_TEST - if (verboseMode) { - printf("need more data %d %d\r\n", inputCount, nLookBack); - } -#endif /* EFI_UNIT_TEST */ - return false; - } - - // shift array of process values and identify peaks - inputCount = nLookBack; - bool isMax = true; - bool isMin = true; - for (int i = inputCount - 1; i >= 0; i--) - { - double val = lastInputs[i]; - if (isMax) - { - isMax = (refVal >= val); - } - if (isMin) - { - isMin = (refVal <= val); - } - lastInputs[i + 1] = val; - } - lastInputs[0] = refVal; - efiPrintf("isMin=%d isMax=%d", isMin, isMax); - - // for AMIGOf tuning rule, perform an initial - // step change to calculate process gain K_process - // this may be very slow for lag-dominated processes - // and may never terminate for integrating processes - if (((byte) state & (STEADY_STATE_AT_BASELINE | STEADY_STATE_AFTER_STEP_UP)) > 0) - { - // check that all the recent inputs are - // equal give or take expected noise - double iMax = lastInputs[0]; - double iMin = lastInputs[0]; - double avgInput = 0.0; - for (byte i = 0; i <= inputCount; i++) - { - double val = lastInputs[i]; - if (iMax < val) - { - iMax = val; - } - if (iMin > val) - { - iMin = val; - } - avgInput += val; - } - avgInput /= (double)(inputCount + 1); - -#if defined(AUTOTUNE_DEBUG) || EFI_UNIT_TEST - bool stable = (iMax - iMin) <= 2.0 * workingNoiseBand; -#endif -#if defined (AUTOTUNE_DEBUG) - Serial.print(F("iMax ")); - Serial.println(iMax); - Serial.print(F("iMin ")); - Serial.println(iMin); - Serial.print(F("avgInput ")); - Serial.println(avgInput); - Serial.print(F("stable ")); - Serial.println(stable); -#endif - - -#if EFI_UNIT_TEST - if (verboseMode) { - printf("iMax=%f iMin=%f\r\n", iMax, iMin); - printf("avgInput=%f stable=%d\r\n", avgInput, stable); - } -#endif /* EFI_UNIT_TEST */ - - - // if recent inputs are stable - if ((iMax - iMin) <= 2.0 * workingNoiseBand) - { - -#if defined (AUTOTUNE_RELAY_BIAS) - lastStepTime[0] = now; -#endif - - if (state == STEADY_STATE_AT_BASELINE) - { - setState(STEADY_STATE_AFTER_STEP_UP); - lastPeaks[0] = avgInput; - inputCount = 0; -#if EFI_UNIT_TEST - if (verboseMode) { - printf(":( 3\r\n"); - } -#endif /* EFI_UNIT_TEST */ - return false; - } - // else state == STEADY_STATE_AFTER_STEP_UP - // calculate process gain - K_process = (avgInput - lastPeaks[0]) / workingOutputstep; - -#if defined (AUTOTUNE_DEBUG) - Serial.print(F("Process gain ")); - Serial.println(K_process); -#endif - -#if EFI_UNIT_TEST - if (verboseMode) { - printf("K_process=%f\r\n", K_process); - } -#endif /* EFI_UNIT_TEST */ - - // bad estimate of process gain - if (K_process < 1e-10) // zero - { - setState(AUTOTUNER_OFF); -#if EFI_UNIT_TEST - printf(":( 4\r\n"); -#endif /* EFI_UNIT_TEST */ - return false; - } - setState(RELAY_STEP_DOWN); - -#if defined (AUTOTUNE_RELAY_BIAS) - sumInputSinceLastStep[0] = 0.0; -#endif - -#if EFI_UNIT_TEST - printf(":( 5\r\n"); -#endif /* EFI_UNIT_TEST */ - return false; - } - else - { -#if EFI_UNIT_TEST - printf(":( 6\r\n"); -#endif /* EFI_UNIT_TEST */ - return false; - } - } - - // increment peak count - // and record peak time - // for both maxima and minima - justChanged = false; - if (isMax) - { - if (peakType == MINIMUM) - { - justChanged = true; - } - setPeakType(MAXIMUM); - } - else if (isMin) - { - if (peakType == MAXIMUM) - { - justChanged = true; - } - setPeakType(MINIMUM); - } - - // update peak times and values - if (justChanged) - { - peakCount++; - efiPrintf("peakCount=%d", peakCount); - - -#if defined (AUTOTUNE_DEBUG) - Serial.println(F("peakCount ")); - Serial.println(peakCount); - Serial.println(F("peaks")); - for (byte i = 0; i < (peakCount > 4 ? 5 : peakCount); i++) - { - Serial.println(lastPeaks[i]); - } -#endif - - // shift peak time and peak value arrays - for (byte i = (peakCount > 4 ? 4 : peakCount); i > 0; i--) - { - lastPeakTime[i] = lastPeakTime[i - 1]; - lastPeaks[i] = lastPeaks[i - 1]; - } - } - if (isMax || isMin) - { - lastPeakTime[0] = now; - lastPeaks[0] = refVal; - -#if defined (AUTOTUNE_DEBUG) - Serial.println(); - Serial.println(F("peakCount ")); - Serial.println(peakCount); - Serial.println(F("refVal ")); - Serial.println(refVal); - Serial.print(F("peak type ")); - Serial.println(peakType); - Serial.print(F("isMin ")); - Serial.println(isMin); - Serial.print(F("isMax ")); - Serial.println(isMax); - Serial.println(); - Serial.println(F("lastInputs:")); - for (byte i = 0; i <= inputCount; i++) - { - Serial.println(lastInputs[i]); - } - Serial.println(); -#endif - - } - - // check for convergence of induced oscillation - // convergence of amplitude assessed on last 4 peaks (1.5 cycles) - double inducedAmplitude = 0.0; - double phaseLag; - if ( - -#if defined (AUTOTUNE_RELAY_BIAS) - (stepCount > STEPCOUNT - 1) && -#endif - - justChanged && - (peakCount > STEPCOUNT - 1) - ) - { - double absMax = lastPeaks[1]; - double absMin = lastPeaks[1]; - for (byte i = 2; i < STEPCOUNT; i++) - { - double val = lastPeaks[i]; - inducedAmplitude += abs( val - lastPeaks[i - 1]); - if (absMax < val) - { - absMax = val; - } - if (absMin > val) - { - absMin = val; - } - } -#if EFI_UNIT_TEST - this->absMax = absMax; - this->absMin = absMin; -#endif /* EFI_UNIT_TEST */ - - inducedAmplitude /= 6.0; - -#if defined (AUTOTUNE_DEBUG) - Serial.print(F("amplitude ")); - Serial.println(inducedAmplitude); - Serial.print(F("absMin ")); - Serial.println(absMin); - Serial.print(F("absMax ")); - Serial.println(absMax); - Serial.print(F("convergence criterion ")); - Serial.println((0.5 * (absMax - absMin) - inducedAmplitude) / inducedAmplitude); -#endif - - // source for AMIGOf PI auto tuning method: - // "Revisiting the Ziegler-Nichols tuning rules for PI control � - // Part II. The frequency response method." - // T. Hagglund and K. J. Astrom - // Asian Journal of Control, Vol. 6, No. 4, pp. 469-482, December 2004 - // http://www.ajc.org.tw/pages/paper/6.4PD/AC0604-P469-FR0371.pdf - if (controlType == AMIGOF_PI) - { - phaseLag = calculatePhaseLag(inducedAmplitude); - -#if defined (AUTOTUNE_DEBUG) - Serial.print(F("phase lag ")); - Serial.println(phaseLag / CONST_PI * 180.0); -#endif - - // check that phase lag is within acceptable bounds, ideally between 120� and 140� - // but 115� to 145� will just about do, and might converge quicker - if (abs(phaseLag - CONST_PI * 130.0 / 180.0) > (CONST_PI * 15.0 / 180.0)) - { - // phase lag outside the desired range - // set noiseBand to new estimate - // aiming for 135� = 0.75 * pi (radians) - // sin(135�) = sqrt(2)/2 - // NB noiseBand = 0.5 * hysteresis - newWorkingNoiseBand = 0.5 * inducedAmplitude * CONST_SQRT2_DIV_2; - -#if defined (AUTOTUNE_RELAY_BIAS) - // we could reset relay step counter because we can't rely - // on constant phase lag for calculating - // relay bias having changed noiseBand - // but this would essentially preclude using relay bias - // with AMIGOf tuning, which is already a compile option - /* - stepCount = 0; - */ -#endif - -#if defined (AUTOTUNE_DEBUG) - Serial.print(F("newWorkingNoiseBand ")); - Serial.println(newWorkingNoiseBand); -#endif - -#if EFI_UNIT_TEST - printf(":( 7\r\n"); -#endif /* EFI_UNIT_TEST */ - return false; - } - } - - // check convergence criterion for amplitude of induced oscillation - if (((0.5 * (absMax - absMin) - inducedAmplitude) / inducedAmplitude) < AUTOTUNE_PEAK_AMPLITUDE_TOLERANCE) - { - setState(CONVERGED); - } - } - - bool tooManyCycles = peakCount >= 20; - bool tooLongBetween = ((now - lastPeakTime[0]) > (unsigned long) (AUTOTUNE_MAX_WAIT_MINUTES * 60000)); - // if the autotune has not already converged - // terminate after 10 cycles - // or if too long between peaks - // or if too long between relay steps - if ( - -#if defined (AUTOTUNE_RELAY_BIAS) - ((now - lastStepTime[0]) > (unsigned long) (AUTOTUNE_MAX_WAIT_MINUTES * 60000)) || -#endif - - tooLongBetween || - tooManyCycles - ) - { -#if EFI_UNIT_TEST - printf("tooManyCycles=%d tooLongBetween=%d\r\n", tooManyCycles, tooLongBetween); -#endif /* EFI_UNIT_TEST */ - setState(FAILED); - } - - if (((byte) state & (CONVERGED | FAILED)) == 0) - { -#if EFI_UNIT_TEST - if (verboseMode) { - printf(":( 1 state=%s\r\n", getPidAutoTune_AutoTunerState(state)); - } -#endif /* EFI_UNIT_TEST */ - return false; - } - - // autotune algorithm has terminated - // reset autotuner variables - efiPrintf("AT done"); - setOutput( outputStart); - - if (state == FAILED) - { - // do not calculate gain parameters - -#if defined (AUTOTUNE_DEBUG) - Serial.println("failed"); -#endif -#if EFI_UNIT_TEST - printf("failed\r\n"); -#endif /* EFI_UNIT_TEST */ - return true; - } - - // finish up by calculating tuning parameters - - // calculate ultimate gain - double Ku = 4.0 * workingOutputstep / (inducedAmplitude * CONST_PI); - -#if defined (AUTOTUNE_DEBUG) - Serial.print(F("ultimate gain ")); - Serial.println(1.0 / Ku); - Serial.println(Ku); -#endif - - // calculate ultimate period in seconds - double Pu = (double) 0.5 * ((lastPeakTime[1] - lastPeakTime[3]) + (lastPeakTime[2] - lastPeakTime[4])) / 1000.0; - -#if defined (AUTOTUNE_DEBUG) - Serial.print(F("ultimate period ")); - Serial.println(Pu); -#endif - - // calculate gain parameters using tuning rules - // NB PID generally outperforms PI for lag-dominated processes - - // AMIGOf is slow to tune, especially for lag-dominated processes, because it - // requires an estimate of the process gain which is implemented in this - // routine by steady state change in process variable after step change in set point - // It is intended to give robust tunings for both lag- and delay- dominated processes - if (controlType == AMIGOF_PI) - { - // calculate gain ratio - double kappa_phi = (1.0 / Ku) / K_process; - -#if defined (AUTOTUNE_DEBUG) - Serial.print(F("gain ratio kappa ")); - Serial.println(kappa_phi); -#endif - - // calculate phase lag - phaseLag = calculatePhaseLag(inducedAmplitude); - -#if defined (AUTOTUNE_DEBUG) - Serial.print(F("phase lag ")); - Serial.println(phaseLag / CONST_PI * 180.0); -#endif - - // calculate tunings - Kp = (( 2.50 - 0.92 * phaseLag) / (1.0 + (10.75 - 4.01 * phaseLag) * kappa_phi)) * Ku; - Ti = ((-3.05 + 1.72 * phaseLag) / pow(1.0 + (-6.10 + 3.44 * phaseLag) * kappa_phi, 2)) * Pu; - Td = 0.0; -#if EFI_UNIT_TEST - printf("Happy end AMIGOF_PI!\r\n"); -#endif /* EFI_UNIT_TEST */ - efiPrintf("output %f", output); - // converged - return true; - } - - Kp = Ku / (double) tuningRule[controlType].divisor(KP_DIVISOR); - Ti = Pu / (double) tuningRule[controlType].divisor(TI_DIVISOR); - Td = tuningRule[controlType].PI_controller() ? - 0.0 : Pu / (double) tuningRule[controlType].divisor(TD_DIVISOR); -#if EFI_UNIT_TEST - printf("Happy end!\r\n"); -#endif /* EFI_UNIT_TEST */ - // converged - return true; -} - -float PID_AutoTune::GetKp() const -{ - return Kp; -} - -float PID_AutoTune::GetKi() const -{ - return Kp / Ti; -} - -float PID_AutoTune::GetKd() const -{ - return Kp * Td; -} - -void PID_AutoTune::setOutput(float output) { - this->output = output; - - efiPrintf("setOutput %f %s", output, getPidAutoTune_AutoTunerState(state)); - -#if EFI_UNIT_TEST - if (verboseMode) { - printf("output=%f\r\n", output); - } -#endif /* EFI_UNIT_TEST */ -} - -void PID_AutoTune::SetOutputStep(double Step) -{ - oStep = Step; -} - -double PID_AutoTune::GetOutputStep() const -{ - return oStep; -} - -void PID_AutoTune::SetControlType(byte type) -{ - controlType = type; -} - -byte PID_AutoTune::GetControlType() const -{ - return controlType; -} - diff --git a/firmware/controllers/math/pid_auto_tune.h b/firmware/controllers/math/pid_auto_tune.h deleted file mode 100644 index 976d20766c..0000000000 --- a/firmware/controllers/math/pid_auto_tune.h +++ /dev/null @@ -1,190 +0,0 @@ -/* - * pid_auto_tune.h - * - * http://brettbeauregard.com/blog/2012/01/arduino-pid-autotune-library/ - * https://www.ripublication.com/ijeer17/ijeerv9n6_02.pdf - * - * - * Created on: Sep 13, 2017 - * @author Andrey Belomutskiy, (c) 2012-2020 - */ - -#pragma once - - -#include "global.h" - -// that's a weird piece of code for sure -#ifndef byte -typedef unsigned char byte; -#endif - - // irrational constants -#define CONST_SQRT2_DIV_2 0.70710678118654752440 - - - -// verbose debug option -#undef AUTOTUNE_DEBUG - - -// defining this option implements relay bias -// this is useful to adjust the relay output values -// during the auto tuning to recover symmetric -// oscillations -// this can compensate for load disturbance -// and equivalent signals arising from nonlinear -// or non-stationary processes -// any improvement in the tunings seems quite modest -// but sometimes unbalanced oscillations can be -// persuaded to converge where they might not -// otherwise have done so -#undef AUTOTUNE_RELAY_BIAS - -// average amplitude of successive peaks must differ by no more than this proportion -// relative to half the difference between maximum and minimum of last 2 cycles -#define AUTOTUNE_PEAK_AMPLITUDE_TOLERANCE 0.05 - -// ratio of up/down relay step duration should differ by no more than this tolerance -// biasing the relay con give more accurate estimates of the tuning parameters but -// setting the tolerance too low will prolong the autotune procedure unnecessarily -// this parameter also sets the minimum bias in the relay as a proportion of its amplitude -#define AUTOTUNE_STEP_ASYMMETRY_TOLERANCE 0.20 - -// auto tune terminates if waiting too long between peaks or relay steps -// set larger value for processes with long delays or time constants -#define AUTOTUNE_MAX_WAIT_MINUTES 5 - -// Ziegler-Nichols type auto tune rules -// in tabular form -struct Tuning -{ - byte _divisor[3]; - - bool PI_controller() const - { - return _divisor[2] == 0; - } - - double divisor(byte index) const - { - return (double)(_divisor[index] * 0.05); - } -}; - -#define STEPCOUNT 5 - -class PID_AutoTune -{ - -public: - - // constants *********************************************************************************** - - // auto tune method - enum - { - ZIEGLER_NICHOLS_PI = 0, - ZIEGLER_NICHOLS_PID = 1, - TYREUS_LUYBEN_PI, - TYREUS_LUYBEN_PID, - CIANCONE_MARLIN_PI, - CIANCONE_MARLIN_PID, - AMIGOF_PI, - PESSEN_INTEGRAL_PID, - SOME_OVERSHOOT_PID, - NO_OVERSHOOT_PID - }; - - // tuning rule divisor - enum - { - KP_DIVISOR = 0, - TI_DIVISOR = 1, - TD_DIVISOR = 2 - }; - - - // commonly used methods *********************************************************************** - PID_AutoTune(); // * Constructor. links the Autotune to a given PID - bool Runtime(Logging *logging); // * Similar to the PID Compute function, - // returns true when done, otherwise returns false - void Cancel(); // * Stops the AutoTune - - void reset(); - - void SetOutputStep(double); // * how far above and below the starting value will - // the output step? - double GetOutputStep() const; // - - void SetControlType(byte); // * Determines tuning algorithm - byte GetControlType() const; // * Returns tuning algorithm - - void SetLookbackSec(int); // * how far back are we looking to identify peaks - int GetLookbackSec() const; // - - void SetNoiseBand(double); // * the autotune will ignore signal chatter smaller - // than this value - double GetNoiseBand(); // this should be accurately set - - float GetKp() const; // * once autotune is complete, these functions contain the - float GetKi() const; // computed tuning parameters. - float GetKd() const; // - - Logging *logger; - byte peakCount; - float input; - // suggested P coefficient while auto-tuning - float output; - - void setOutput(float output); - -#if EFI_UNIT_TEST - double absMax; - double absMin; -#endif /* EFI_UNIT_TEST */ - double outputStart; - - unsigned long sampleTime; - byte nLookBack; - - void setState(PidAutoTune_AutoTunerState state); - void setPeakType(PidAutoTune_Peak peakType); - PidAutoTune_AutoTunerState state; // * state of autotuner finite state machine - -private: - double oStep; - - double processValueOffset(double, // * returns an estimate of the process value offset - double); // as a proportion of the amplitude - - double setpoint; - - double noiseBand; - byte controlType; // * selects autotune algorithm - - unsigned long lastTime; - PidAutoTune_Peak peakType; - unsigned long lastPeakTime[STEPCOUNT]; // * peak time, most recent in array element 0 - float lastPeaks[STEPCOUNT]; // * peak value, most recent in array element 0 - float lastInputs[101]; // * process values, most recent in array element 0 - byte inputCount; - float workingNoiseBand; - float workingOutputstep; - float inducedAmplitude; - float Kp, Ti, Td; - - // used by AMIGOf tuning rule - double calculatePhaseLag(double); // * calculate phase lag from noiseBand and inducedAmplitude - double fastArcTan(double); - double newWorkingNoiseBand; - double K_process; - -#if defined AUTOTUNE_RELAY_BIAS - double relayBias; - unsigned long lastStepTime[5]; // * step time, most recent in array element 0 - double sumInputSinceLastStep[5]; // * integrated process values, most recent in array element 0 - byte stepCount; -#endif - -}; diff --git a/firmware/controllers/sensors/auto_generated_sensor.cpp b/firmware/controllers/sensors/auto_generated_sensor.cpp index 392f728e9c..929c124188 100644 --- a/firmware/controllers/sensors/auto_generated_sensor.cpp +++ b/firmware/controllers/sensors/auto_generated_sensor.cpp @@ -8,6 +8,8 @@ case SensorType::AcceleratorPedalPrimary: return "AcceleratorPedalPrimary"; case SensorType::AcceleratorPedalSecondary: return "AcceleratorPedalSecondary"; +case SensorType::AmbientTemperature: + return "AmbientTemperature"; case SensorType::AuxAnalog1: return "AuxAnalog1"; case SensorType::AuxAnalog2: @@ -42,6 +44,10 @@ case SensorType::BatteryVoltage: return "BatteryVoltage"; case SensorType::Clt: return "Clt"; +case SensorType::CompressorDischargePressure: + return "CompressorDischargePressure"; +case SensorType::CompressorDischargeTemperature: + return "CompressorDischargeTemperature"; case SensorType::DetectedGear: return "DetectedGear"; case SensorType::DriverThrottleIntent: @@ -60,6 +66,8 @@ case SensorType::FuelPressureInjector: return "FuelPressureInjector"; case SensorType::FuelPressureLow: return "FuelPressureLow"; +case SensorType::FuelTemperature: + return "FuelTemperature"; case SensorType::Iat: return "Iat"; case SensorType::InputShaftSpeed: @@ -92,6 +100,8 @@ case SensorType::MapSlow2: return "MapSlow2"; case SensorType::OilPressure: return "OilPressure"; +case SensorType::OilTemperature: + return "OilTemperature"; case SensorType::PlaceholderLast: return "PlaceholderLast"; case SensorType::Rpm: diff --git a/firmware/controllers/sensors/hella_oil_level.cpp b/firmware/controllers/sensors/hella_oil_level.cpp new file mode 100644 index 0000000000..4fc36a2640 --- /dev/null +++ b/firmware/controllers/sensors/hella_oil_level.cpp @@ -0,0 +1,108 @@ +#include "pch.h" + +#include "hella_oil_level.h" + +#include "digital_input_exti.h" + +static void hellaSensorExtiCallback(void* arg, efitick_t nowNt) { + reinterpret_cast(arg)->onEdge(nowNt); +} + +void HellaOilLevelSensor::init(brain_pin_e pin) { + if (!isBrainPinValid(pin)) { + return; + } + + m_pin = pin; + +#if EFI_PROD_CODE + efiExtiEnablePin(getSensorName(), pin, + PAL_EVENT_MODE_BOTH_EDGES, + hellaSensorExtiCallback, reinterpret_cast(this)); +#endif // EFI_PROD_CODE + + Register(); +} + +void HellaOilLevelSensor::onEdge(efitick_t nowNt) { +#if EFI_PROD_CODE + onEdge(nowNt, efiReadPin(m_pin)); +#endif +} + +void HellaOilLevelSensor::onEdge(efitick_t nowNt, bool value) { + if (value) { + // Start pulse width timing at the rising edge + m_pulseTimer.reset(nowNt); + + float timeBetweenPulses = m_betweenPulseTimer.getElapsedSecondsAndReset(nowNt); + + if (timeBetweenPulses > 0.89 * 0.780 && timeBetweenPulses < 1.11 * 0.780) { + // 780ms nominal between Diag and next Temp pulse start, +-10% + + // This was the "long gap" break, next pulse is temperature. + m_nextPulse = NextPulse::Temp; + } else if (timeBetweenPulses > 0.89 * 0.110 && timeBetweenPulses < 1.11 * 0.110) { + // 110ms nominal between each pulse (other than break) + + // Advance the state machine to decode the next pulse in the sequence + switch (m_nextPulse) { + case NextPulse::Temp: + m_nextPulse = NextPulse::Level; + break; + case NextPulse::Level: + m_nextPulse = NextPulse::Diag; + break; + default: + // We don't know how we got here, reset to safe state + m_nextPulse = NextPulse::None; + break; + } + } else { + // The break was too long, ignore it for now. + m_nextPulse = NextPulse::None; + } + } else { + // Stop timing at the falling edge + float lastPulseMs = 1000 * m_pulseTimer.getElapsedSeconds(nowNt); + + if (lastPulseMs > 100 || lastPulseMs < 20) { + // Impossibly short or long pulse, something went wrong + m_nextPulse = NextPulse::None; + return; + } + + if (m_nextPulse == NextPulse::Diag) { + // TODO: decode diag pulse? + return; + } else if (m_nextPulse == NextPulse::Temp) { + // 22ms = Short circuit temp sensor + // 23ms = -40C + // 87ms = 160C + // 88ms = Temp sensor defective + + if (lastPulseMs < 22.8) { + // Short circuit + // invalidate(UnexpectedCode::Low); + } else if (lastPulseMs > 87.2) { + // Defective + // invalidate(UnexpectedCode::High); + } else { + // float tempC = interpolateClamped(23, -40, 87, 160, lastPulseMs); + // setValidValue(tempC, nowNt); + } + } else if (m_nextPulse == NextPulse::Level) { + // 22ms = Unreliable signal + // 23ms = level 0mm + // 87.86ms = level 150mm + + if (lastPulseMs < 22.8f) { + // Unreliable + invalidate(UnexpectedCode::Low); + } else { + float levelMm = interpolateClamped(23, 0, 87.86, 150, lastPulseMs); + setValidValue(levelMm, nowNt); + } + } + } +} diff --git a/firmware/controllers/sensors/hella_oil_level.h b/firmware/controllers/sensors/hella_oil_level.h new file mode 100644 index 0000000000..22550d3541 --- /dev/null +++ b/firmware/controllers/sensors/hella_oil_level.h @@ -0,0 +1,25 @@ +#pragma once + +#include "stored_value_sensor.h" + +class HellaOilLevelSensor : public StoredValueSensor { +public: + HellaOilLevelSensor(SensorType type) : StoredValueSensor(type, MS2NT(2000)) {} + + void init(brain_pin_e pin); + + void onEdge(efitick_t nowNt); + void onEdge(efitick_t nowNt, bool value); + +private: + brain_pin_e m_pin = Gpio::Unassigned; + + // Measures the width of positive pulses (rising -> falling) + Timer m_pulseTimer; + + // Measures the time between pulses (rising -> rising) + Timer m_betweenPulseTimer; + + enum class NextPulse { None, Temp, Level, Diag }; + NextPulse m_nextPulse = NextPulse::None; +}; diff --git a/firmware/controllers/sensors/impl/maf.cpp b/firmware/controllers/sensors/impl/maf.cpp index 9b74273ce2..0a6d659e00 100644 --- a/firmware/controllers/sensors/impl/maf.cpp +++ b/firmware/controllers/sensors/impl/maf.cpp @@ -1,146 +1,72 @@ #include "pch.h" -static int addMafPoint(persistent_config_s *config, int index, float kgHrValue, float voltage) { +static int addMafPoint(int index, float kgHrValue, float voltage) { config->mafDecoding[index] = kgHrValue; config->mafDecodingBins[index] = voltage; return index + 1; } -static int addMafPointByVoltage(persistent_config_s *config, int index, float voltage, float kgHrValue) { - return addMafPoint(config, index, kgHrValue, voltage); +static int addMafPointByVoltage(int index, float voltage, float kgHrValue) { + return addMafPoint(index, kgHrValue, voltage); } -static void fillTheRest(persistent_config_s *e, int i) { +static void fillTheRest(int i) { /** * unrealistic values just to make binary search happy */ while (i < MAF_DECODING_COUNT) { - i = addMafPoint(e, i, 3000, 2010 + i); + i = addMafPoint(i, 3000, 2010 + i); } } /** * Hot-film air-mass meter, Type HFM 5 */ -void setBosch0280218037(persistent_config_s *e) { +void setBosch0280218037() { int i = 0; - i = addMafPoint(e, i, -34.5, 0); - i = addMafPoint(e, i, -6, 0.78125); + i = addMafPoint(i, -34.5, 0); + i = addMafPoint(i, -6, 0.78125); - e->mafDecoding[i] = 10.5; - e->mafDecodingBins[i++] = 1.38671875; + config->mafDecoding[i] = 10.5; + config->mafDecodingBins[i++] = 1.38671875; - e->mafDecoding[i] = 105.3; - e->mafDecodingBins[i++] = 2.91015625; + config->mafDecoding[i] = 105.3; + config->mafDecodingBins[i++] = 2.91015625; - e->mafDecoding[i] = 387.5; - e->mafDecodingBins[i++] = 4.2578125; + config->mafDecoding[i] = 387.5; + config->mafDecodingBins[i++] = 4.2578125; - e->mafDecoding[i] = 738; - e->mafDecodingBins[i++] = 4.98046875; + config->mafDecoding[i] = 738; + config->mafDecodingBins[i++] = 4.98046875; - fillTheRest(e, i); + fillTheRest(i); } -void setBosch0280218004(persistent_config_s *e) { +void setBosch0280218004() { int i = 0; - fillTheRest(e, i); + fillTheRest(i); } -void setDensoTODO(persistent_config_s *e) { - int i = 0; - - i = addMafPoint(e, i, 116.3, 0.8); - i = addMafPoint(e, i, 76.3, 1.04); - i = addMafPoint(e, i, 40.5, 1.4); - i = addMafPoint(e, i, 32.5, 1.60); - i = addMafPoint(e, i, 23.8, 1.83); - i = addMafPoint(e, i, 0, 3); - - while (i < MAF_DECODING_COUNT) { - e->mafDecoding[i] = 0; - e->mafDecodingBins[i] = 10 + i; - i++; - } -} - -void setMazdaMiataNAMaf(persistent_config_s *e) { - int i = 0; - i= addMafPoint(e, i, 0.000000, 0.000000); - i= addMafPoint(e, i, 0.000028, 0.100000); - i= addMafPoint(e, i, 0.000387, 0.200000); - i= addMafPoint(e, i, 0.001809, 0.300000); - i= addMafPoint(e, i, 0.005409, 0.400000); - i= addMafPoint(e, i, 0.012648, 0.500000); - i= addMafPoint(e, i, 0.025320, 0.600000); - i= addMafPoint(e, i, 0.045532, 0.700000); - i= addMafPoint(e, i, 0.075698, 0.800000); - i= addMafPoint(e, i, 0.118525, 0.900000); - i= addMafPoint(e, i, 0.177011, 1.000000); - i= addMafPoint(e, i, 0.254434, 1.100000); - i= addMafPoint(e, i, 0.354347, 1.200000); - i= addMafPoint(e, i, 0.480576, 1.300000); - i= addMafPoint(e, i, 0.637210, 1.400000); - i= addMafPoint(e, i, 0.828604, 1.500000); - i= addMafPoint(e, i, 1.059369, 1.600000); - i= addMafPoint(e, i, 1.334371, 1.700000); - i= addMafPoint(e, i, 1.658728, 1.800000); - i= addMafPoint(e, i, 2.037809, 1.900000); - i= addMafPoint(e, i, 2.477225, 2.000000); - i= addMafPoint(e, i, 2.982835, 2.100000); - i= addMafPoint(e, i, 3.560736, 2.200000); - i= addMafPoint(e, i, 4.217265, 2.300000); - i= addMafPoint(e, i, 4.958995, 2.400000); - i= addMafPoint(e, i, 5.792737, 2.500000); - i= addMafPoint(e, i, 6.725531, 2.600000); - i= addMafPoint(e, i, 7.764648, 2.700000); - i= addMafPoint(e, i, 8.917592, 2.800000); - i= addMafPoint(e, i, 10.192092, 2.900000); - i= addMafPoint(e, i, 11.596102, 3.000000); - i= addMafPoint(e, i, 13.137802, 3.100000); - i= addMafPoint(e, i, 14.825595, 3.200000); - i= addMafPoint(e, i, 16.668105, 3.300000); - i= addMafPoint(e, i, 18.674177, 3.400000); - i= addMafPoint(e, i, 20.852874, 3.500000); - i= addMafPoint(e, i, 23.213478, 3.600000); - i= addMafPoint(e, i, 25.765485, 3.700000); - i= addMafPoint(e, i, 28.518610, 3.800000); - i= addMafPoint(e, i, 31.482778, 3.900000); - i= addMafPoint(e, i, 34.668130, 4.000000); - i= addMafPoint(e, i, 38.085019, 4.100000); - i= addMafPoint(e, i, 41.744006, 4.200000); - i= addMafPoint(e, i, 45.655865, 4.300000); - i= addMafPoint(e, i, 49.831577, 4.400000); - i= addMafPoint(e, i, 54.282334, 4.500000); - i= addMafPoint(e, i, 59.019531, 4.600000); - i= addMafPoint(e, i, 64.054771, 4.700000); - i= addMafPoint(e, i, 69.399864, 4.800000); - i= addMafPoint(e, i, 75.066822, 4.900000); - i= addMafPoint(e, i, 81.067862, 5.000000); - - fillTheRest(e, i); -} - -void setNissanMAF0031(persistent_config_s *e) { +void setNissanMAF0031() { int i = 0; // I am copy-pasting from a spreadsheet, it works better if voltage goes first - i = addMafPointByVoltage(e, i, 0.29, 3.1768838175); - i = addMafPointByVoltage(e, i, 0.49, 3.6987752861); - i = addMafPointByVoltage(e, i, 0.72, 5.8013108424); - i = addMafPointByVoltage(e, i, 1, 11.1849); - i = addMafPointByVoltage(e, i, 1.37, 24.5646673361); - i = addMafPointByVoltage(e, i, 1.66, 41.453048941); - i = addMafPointByVoltage(e, i, 1.91, 61.5847903829); - i = addMafPointByVoltage(e, i, 2.09, 79.7924502089); - i = addMafPointByVoltage(e, i, 2.34, 110.961012317); - i = addMafPointByVoltage(e, i, 2.89, 208.198652496); - i = addMafPointByVoltage(e, i, 3.11, 260.1030585044); - i = addMafPointByVoltage(e, i, 3.54, 387.150427974); - i = addMafPointByVoltage(e, i, 3.81, 486.5363959026); - i = addMafPointByVoltage(e, i, 4, 566.628); - i = addMafPointByVoltage(e, i, 4.32, 722.3485684449); - i = addMafPointByVoltage(e, i, 4.65, 913.0847954331); - i = addMafPointByVoltage(e, i, 4.98, 1137.8746972553); - fillTheRest(e, i); + i = addMafPointByVoltage(i, 0.29, 3.1768838175); + i = addMafPointByVoltage(i, 0.49, 3.6987752861); + i = addMafPointByVoltage(i, 0.72, 5.8013108424); + i = addMafPointByVoltage(i, 1, 11.1849); + i = addMafPointByVoltage(i, 1.37, 24.5646673361); + i = addMafPointByVoltage(i, 1.66, 41.453048941); + i = addMafPointByVoltage(i, 1.91, 61.5847903829); + i = addMafPointByVoltage(i, 2.09, 79.7924502089); + i = addMafPointByVoltage(i, 2.34, 110.961012317); + i = addMafPointByVoltage(i, 2.89, 208.198652496); + i = addMafPointByVoltage(i, 3.11, 260.1030585044); + i = addMafPointByVoltage(i, 3.54, 387.150427974); + i = addMafPointByVoltage(i, 3.81, 486.5363959026); + i = addMafPointByVoltage(i, 4, 566.628); + i = addMafPointByVoltage(i, 4.32, 722.3485684449); + i = addMafPointByVoltage(i, 4.65, 913.0847954331); + i = addMafPointByVoltage(i, 4.98, 1137.8746972553); + fillTheRest(i); } diff --git a/firmware/controllers/sensors/impl/maf.h b/firmware/controllers/sensors/impl/maf.h index 885bcdf730..effaaeda81 100644 --- a/firmware/controllers/sensors/impl/maf.h +++ b/firmware/controllers/sensors/impl/maf.h @@ -11,14 +11,9 @@ #pragma once - -void setBosch0280218037(persistent_config_s *engineConfiguration); -void setBosch0280218004(persistent_config_s *engineConfiguration); - -void setDensoTODO(persistent_config_s *engineConfiguration); -void setMazdaMiataNAMaf(persistent_config_s *e); +void setBosch0280218037(); /** * 22680-7S000 */ -void setNissanMAF0031(persistent_config_s *engineConfiguration); +void setNissanMAF0031(); diff --git a/firmware/controllers/sensors/impl/software_knock.cpp b/firmware/controllers/sensors/impl/software_knock.cpp index 666211e4e2..4a7c26e853 100644 --- a/firmware/controllers/sensors/impl/software_knock.cpp +++ b/firmware/controllers/sensors/impl/software_knock.cpp @@ -177,10 +177,6 @@ void processLastKnockEvent() { float volts = ratio * sampleBuffer[i]; float filtered = knockFilter.filter(volts); - if (i == localCount - 1 && engineConfiguration->debugMode == DBG_KNOCK) { - engine->outputChannels.debugFloatField1 = volts; - engine->outputChannels.debugFloatField2 = filtered; - } sumSq += filtered * filtered; } diff --git a/firmware/controllers/sensors/sensor_checker.cpp b/firmware/controllers/sensors/sensor_checker.cpp index f97ad1aeb0..092d695668 100644 --- a/firmware/controllers/sensors/sensor_checker.cpp +++ b/firmware/controllers/sensors/sensor_checker.cpp @@ -186,7 +186,7 @@ void SensorChecker::onSlowCallback() { InjectorOutputPin& pin = enginePins.injectors[i]; // Skip not-configured pins - if (!isBrainPinValid(pin.brainPin)) { + if (!pin.isInitialized()) { continue; } @@ -208,7 +208,7 @@ void SensorChecker::onSlowCallback() { IgnitionOutputPin& pin = enginePins.coils[i]; // Skip not-configured pins - if (!isBrainPinValid(pin.brainPin)) { + if (!pin.isInitialized()) { continue; } diff --git a/firmware/controllers/sensors/sensor_type.h b/firmware/controllers/sensors/sensor_type.h index 95497d8f26..a2904c5e8a 100644 --- a/firmware/controllers/sensors/sensor_type.h +++ b/firmware/controllers/sensors/sensor_type.h @@ -27,12 +27,17 @@ enum class SensorType : unsigned char { Map, Maf, - OilPressure, // 6 + AmbientTemperature, + + OilPressure, + OilTemperature, FuelPressureLow, // in kPa FuelPressureHigh, // in kPa FuelPressureInjector, + FuelTemperature, + // This is the "resolved" position, potentially composited out of the following two Tps1, // 10 // This is the first sensor @@ -89,6 +94,10 @@ enum class SensorType : unsigned char { MapSlow2, MapFast2, + // Pressure sensor after compressor, before intercooler + CompressorDischargePressure, + CompressorDischargeTemperature, + // Pressure sensor before the throttle, after any turbo/etc ThrottleInletPressure, diff --git a/firmware/controllers/sensors/sensors.mk b/firmware/controllers/sensors/sensors.mk index 2bcbfba238..2dc642ab5d 100644 --- a/firmware/controllers/sensors/sensors.mk +++ b/firmware/controllers/sensors/sensors.mk @@ -16,6 +16,7 @@ CONTROLLERS_SENSORS_SRC_CPP = \ $(PROJECT_DIR)/controllers/sensors/redundant_sensor.cpp \ $(PROJECT_DIR)/controllers/sensors/redundant_ford_tps.cpp \ $(PROJECT_DIR)/controllers/sensors/frequency_sensor.cpp \ + $(PROJECT_DIR)/controllers/sensors/hella_oil_level.cpp \ $(PROJECT_DIR)/controllers/sensors/impl/software_knock.cpp \ $(PROJECT_DIR)/controllers/sensors/converters/linear_func.cpp \ $(PROJECT_DIR)/controllers/sensors/converters/resistance_func.cpp \ diff --git a/firmware/controllers/settings.cpp b/firmware/controllers/settings.cpp index 17c6e822a3..5af8b76ad6 100644 --- a/firmware/controllers/settings.cpp +++ b/firmware/controllers/settings.cpp @@ -395,8 +395,6 @@ static void enableOrDisable(const char *param, bool isEnabled) { } else if (strEqualCaseInsensitive(param, "boardUseTachPullUp")) { engineConfiguration->boardUseTachPullUp = isEnabled; incrementGlobalConfigurationVersion(); - } else if (strEqualCaseInsensitive(param, "verbose_idle")) { - engineConfiguration->isVerboseIAC = isEnabled; } else if (strEqualCaseInsensitive(param, "altdebug")) { engineConfiguration->isVerboseAlternator = isEnabled; } else if (strEqualCaseInsensitive(param, "altcontrol")) { @@ -459,7 +457,7 @@ static void disable(const char *param) { /** * See 'LimpManager::isEngineStop' for code which actually stops engine */ -void scheduleStopEngine(void) { +void scheduleStopEngine() { doScheduleStopEngine(); } @@ -603,7 +601,7 @@ static void setValue(const char *paramStr, const char *valueStr) { engine->resetEngineSnifferIfInTestMode(); } -void initSettings(void) { +void initSettings() { #if EFI_SIMULATOR printf("initSettings\n"); #endif // EFI_SIMULATOR diff --git a/firmware/controllers/settings.h b/firmware/controllers/settings.h index a07729a830..90965a737d 100644 --- a/firmware/controllers/settings.h +++ b/firmware/controllers/settings.h @@ -10,9 +10,9 @@ #include "engine_configuration_generated_structures.h" -void initSettings(void); +void initSettings(); void printConfiguration(const engine_configuration_s *engineConfiguration); -void scheduleStopEngine(void); +void scheduleStopEngine(); void setEngineType(int value); void setEngineType(engine_type_e value); diff --git a/firmware/controllers/system/dc_motor.cpp b/firmware/controllers/system/dc_motor.cpp index f1e3904101..e35213476d 100644 --- a/firmware/controllers/system/dc_motor.cpp +++ b/firmware/controllers/system/dc_motor.cpp @@ -27,14 +27,17 @@ void TwoPinDcMotor::enable() { if (m_disable) { m_disable->setValue(false); } - msg = nullptr; + + m_msg = nullptr; } void TwoPinDcMotor::disable(const char *msg) { if (m_disable) { m_disable->setValue(true); } - this->msg = msg; + + m_msg = msg; + // Also set the duty to zero set(0); } diff --git a/firmware/controllers/system/dc_motor.h b/firmware/controllers/system/dc_motor.h index 7bc0f0c75b..30c755bcf2 100644 --- a/firmware/controllers/system/dc_motor.h +++ b/firmware/controllers/system/dc_motor.h @@ -37,7 +37,12 @@ class DcMotor virtual bool isOpenDirection() const = 0; - const char *msg = nullptr; + const char* msg() const { + return m_msg; + } + +protected: + const char* m_msg = nullptr; }; struct IPwm; diff --git a/firmware/controllers/system/efi_gpio.cpp b/firmware/controllers/system/efi_gpio.cpp index bd4d5c9ec3..7c66253411 100644 --- a/firmware/controllers/system/efi_gpio.cpp +++ b/firmware/controllers/system/efi_gpio.cpp @@ -63,7 +63,7 @@ RegisteredNamedOutputPin::RegisteredNamedOutputPin(const char *name, size_t pinO RegisteredOutputPin::RegisteredOutputPin(const char *registrationName, size_t pinOffset, size_t pinModeOffset) : next(registeredOutputHead) - , registrationName(registrationName) + , m_registrationName(registrationName) , m_pinOffset(static_cast(pinOffset)) , m_hasPinMode(true) , m_pinModeOffset(static_cast(pinModeOffset)) @@ -74,7 +74,7 @@ RegisteredOutputPin::RegisteredOutputPin(const char *registrationName, size_t pi RegisteredOutputPin::RegisteredOutputPin(const char *registrationName, size_t pinOffset) : next(registeredOutputHead) - , registrationName(registrationName) + , m_registrationName(registrationName) , m_pinOffset(static_cast(pinOffset)) , m_hasPinMode(false) , m_pinModeOffset(-1) @@ -112,7 +112,7 @@ void RegisteredOutputPin::init() { } if (isPinConfigurationChanged()) { - this->initPin(registrationName, newPin, newMode); + initPin(m_registrationName, newPin, newMode); } } @@ -148,30 +148,30 @@ EnginePins::EnginePins() : secondIdleSolenoidPin("Idle Valve#2", CONFIG_OFFSET(secondSolenoidPin), CONFIG_OFFSET2(idle, solenoidPinMode)), alternatorPin("Alternator control", CONFIG_PIN_OFFSETS(alternatorControl)), checkEnginePin("checkEnginePin", CONFIG_PIN_OFFSETS(malfunctionIndicator)), - tachOut("tachOut", CONFIG_PIN_OFFSETS(tachOutput)) + tachOut("tachOut", CONFIG_PIN_OFFSETS(tachOutput)), + speedoOut("speedoOut", CONFIG_OFFSET(speedometerOutputPin)) { - tachOut.name = PROTOCOL_TACH_NAME; - hpfpValve.name = PROTOCOL_HPFP_NAME; + hpfpValve.setName(PROTOCOL_HPFP_NAME); static_assert(efi::size(sparkNames) >= MAX_CYLINDER_COUNT, "Too many ignition pins"); static_assert(efi::size(trailNames) >= MAX_CYLINDER_COUNT, "Too many ignition pins"); static_assert(efi::size(injectorNames) >= MAX_CYLINDER_COUNT, "Too many injection pins"); for (int i = 0; i < MAX_CYLINDER_COUNT;i++) { enginePins.coils[i].coilIndex = i; - enginePins.coils[i].name = sparkNames[i]; + enginePins.coils[i].setName(sparkNames[i]); enginePins.coils[i].shortName = sparkShortNames[i]; - enginePins.trailingCoils[i].name = trailNames[i]; + enginePins.trailingCoils[i].setName(trailNames[i]); enginePins.trailingCoils[i].shortName = trailShortNames[i]; enginePins.injectors[i].injectorIndex = i; - enginePins.injectors[i].name = injectorNames[i]; + enginePins.injectors[i].setName(injectorNames[i]); enginePins.injectors[i].shortName = injectorShortNames[i]; } static_assert(efi::size(auxValveShortNames) >= AUX_DIGITAL_VALVE_COUNT, "Too many aux valve pins"); for (int i = 0; i < AUX_DIGITAL_VALVE_COUNT;i++) { - enginePins.auxValve[i].name = auxValveShortNames[i]; + enginePins.auxValve[i].setName(auxValveShortNames[i]); } } @@ -227,7 +227,7 @@ void EnginePins::unregisterPins() { void EnginePins::debug() { RegisteredOutputPin * pin = registeredOutputHead; while (pin != nullptr) { - efiPrintf("%s %d", pin->registrationName, pin->currentLogicValue); + efiPrintf("%s %d", pin->getRegistrationName(), pin->m_currentLogicValue); pin = pin->next; } } @@ -283,7 +283,7 @@ void EnginePins::startAuxValves() { NamedOutputPin *output = &enginePins.auxValve[i]; // todo: do we need auxValveMode and reuse code? if (isConfigurationChanged(auxValves[i])) { - output->initPin(output->name, engineConfiguration->auxValves[i]); + output->initPin(output->getName(), engineConfiguration->auxValves[i]); } } #endif /* EFI_PROD_CODE */ @@ -294,12 +294,12 @@ void EnginePins::startIgnitionPins() { for (size_t i = 0; i < engineConfiguration->cylindersCount; i++) { NamedOutputPin *trailingOutput = &enginePins.trailingCoils[i]; if (isPinOrModeChanged(trailingCoilPins[i], ignitionPinMode)) { - trailingOutput->initPin(trailingOutput->name, engineConfiguration->trailingCoilPins[i], engineConfiguration->ignitionPinMode); + trailingOutput->initPin(trailingOutput->getName(), engineConfiguration->trailingCoilPins[i], engineConfiguration->ignitionPinMode); } NamedOutputPin *output = &enginePins.coils[i]; if (isPinOrModeChanged(ignitionPins[i], ignitionPinMode)) { - output->initPin(output->name, engineConfiguration->ignitionPins[i], engineConfiguration->ignitionPinMode); + output->initPin(output->getName(), engineConfiguration->ignitionPins[i], engineConfiguration->ignitionPinMode); } } #endif /* EFI_PROD_CODE */ @@ -311,7 +311,7 @@ void EnginePins::startInjectionPins() { for (size_t i = 0; i < engineConfiguration->cylindersCount; i++) { NamedOutputPin *output = &enginePins.injectors[i]; if (isPinOrModeChanged(injectionPins[i], injectionPinMode)) { - output->initPin(output->name, engineConfiguration->injectionPins[i], + output->initPin(output->getName(), engineConfiguration->injectionPins[i], engineConfiguration->injectionPinMode); } } @@ -321,16 +321,21 @@ void EnginePins::startInjectionPins() { NamedOutputPin::NamedOutputPin() : OutputPin() { } -NamedOutputPin::NamedOutputPin(const char *name) : OutputPin() { - this->name = name; +NamedOutputPin::NamedOutputPin(const char *name) + : m_name(name) +{ } const char *NamedOutputPin::getName() const { - return name; + return m_name; +} + +void NamedOutputPin::setName(const char* name) { + m_name = name; } const char *NamedOutputPin::getShortName() const { - return shortName == nullptr ? name : shortName; + return shortName ? shortName : m_name; } #if EFI_UNIT_TEST @@ -340,7 +345,7 @@ extern bool verboseMode; void NamedOutputPin::setHigh() { #if EFI_UNIT_TEST if (verboseMode) { - efiPrintf("pin %s goes high", name); + efiPrintf("pin %s goes high", m_name); } #endif // EFI_UNIT_TEST #if EFI_DEFAILED_LOGGING @@ -358,7 +363,7 @@ void NamedOutputPin::setHigh() { void NamedOutputPin::setLow() { #if EFI_UNIT_TEST if (verboseMode) { - efiPrintf("pin %s goes low", name); + efiPrintf("pin %s goes low", m_name); } #endif // EFI_UNIT_TEST @@ -374,7 +379,7 @@ bool NamedOutputPin::stop() { #if EFI_GPIO_HARDWARE if (isInitialized() && getLogicValue()) { setValue(false); - efiPrintf("turning off %s", name); + efiPrintf("turning off %s", m_name); return true; } #endif /* EFI_GPIO_HARDWARE */ @@ -383,13 +388,13 @@ bool NamedOutputPin::stop() { void InjectorOutputPin::reset() { // If this injector was open, close it and reset state - if (overlappingCounter != 0) { - overlappingCounter = 0; + if (m_overlappingCounter != 0) { + m_overlappingCounter = 0; setValue(0); } // todo: this could be refactored by calling some super-reset method - currentLogicValue = 0; + m_currentLogicValue = 0; } IgnitionOutputPin::IgnitionOutputPin() { @@ -439,16 +444,8 @@ void IgnitionOutputPin::reset() { signalFallSparkId = 0; } -bool OutputPin::isInitialized() { -#if EFI_GPIO_HARDWARE && EFI_PROD_CODE -#if (BOARD_EXT_GPIOCHIPS > 0) - if (ext) - return true; -#endif /* (BOARD_EXT_GPIOCHIPS > 0) */ - return port != NULL; -#else /* EFI_GPIO_HARDWARE */ - return true; -#endif /* EFI_GPIO_HARDWARE */ +bool OutputPin::isInitialized() const { + return isBrainPinValid(m_brainPin); } void OutputPin::toggle() { @@ -464,12 +461,12 @@ bool OutputPin::getAndSet(int logicValue) { // This function is only used on real hardware #if EFI_PROD_CODE void OutputPin::setOnchipValue(int electricalValue) { - if (brainPin == Gpio::Unassigned || brainPin == Gpio::Invalid) { - // todo: make 'setOnchipValue' or 'reportsetOnchipValueError' virtual and override for NamedOutputPin? + if (m_brainPin == Gpio::Unassigned || m_brainPin == Gpio::Invalid) { + // todo: make 'setOnchipValue' or 'reportsetOnchipValueError' virtual and override for NamedOutputPin? warning(ObdCode::CUSTOM_ERR_6586, "attempting to change unassigned pin"); return; } - palWritePad(port, pin, electricalValue); + palWritePad(m_port, m_pin, electricalValue); } #endif // EFI_PROD_CODE @@ -489,15 +486,15 @@ void OutputPin::setValue(int logicValue) { // Always store the current logical value of the pin (so it can be // used internally even if not connected to a real hardware pin) - currentLogicValue = logicValue; + m_currentLogicValue = logicValue; // Nothing else to do if not configured - if (!isBrainPinValid(brainPin)) { + if (!isInitialized()) { return; } - efiAssertVoid(ObdCode::CUSTOM_ERR_6622, mode <= OM_OPENDRAIN_INVERTED, "invalid pin_output_mode_e"); - int electricalValue = getElectricalValue(logicValue, mode); + efiAssertVoid(ObdCode::CUSTOM_ERR_6622, m_mode <= OM_OPENDRAIN_INVERTED, "invalid pin_output_mode_e"); + int electricalValue = getElectricalValue(logicValue, m_mode); #if EFI_PROD_CODE #if (BOARD_EXT_GPIOCHIPS > 0) @@ -505,31 +502,31 @@ void OutputPin::setValue(int logicValue) { setOnchipValue(electricalValue); } else { /* external pin */ - gpiochips_writePad(this->brainPin, logicValue); + gpiochips_writePad(m_brainPin, logicValue); /* TODO: check return value */ } #else setOnchipValue(electricalValue); #endif #else /* EFI_PROD_CODE */ - setMockState(brainPin, electricalValue); + setMockState(m_brainPin, electricalValue); #endif /* EFI_PROD_CODE */ } bool OutputPin::getLogicValue() const { // Compare against 1 since it could also be INITIAL_PIN_STATE (which means logical 0, but we haven't initialized the pin yet) - return currentLogicValue == 1; + return m_currentLogicValue == 1; } void OutputPin::setDefaultPinState(pin_output_mode_e outputMode) { - assertOMode(mode); - this->mode = outputMode; + assertOMode(outputMode); + m_mode = outputMode; setValue(false); // initial state } brain_pin_diag_e OutputPin::getDiag() const { #if BOARD_EXT_GPIOCHIPS > 0 - return gpiochips_getDiag(brainPin); + return gpiochips_getDiag(m_brainPin); #else return PIN_OK; #endif @@ -576,7 +573,7 @@ void OutputPin::initPin(const char *msg, brain_pin_e brainPin, pin_output_mode_e // Check that this OutputPin isn't already assigned to another pin (reinit is allowed to change mode) // To avoid this error, call deInit() first - if (isBrainPinValid(this->brainPin) && this->brainPin != brainPin) { + if (isBrainPinValid(m_brainPin) && m_brainPin != brainPin) { firmwareError(ObdCode::CUSTOM_OBD_PIN_CONFLICT, "outputPin [%s] already assigned, cannot reassign without unregister first", msg); return; } @@ -591,9 +588,6 @@ void OutputPin::initPin(const char *msg, brain_pin_e brainPin, pin_output_mode_e } #if EFI_GPIO_HARDWARE && EFI_PROD_CODE - iomode_t mode = (outputMode == OM_DEFAULT || outputMode == OM_INVERTED) ? - PAL_MODE_OUTPUT_PUSHPULL : PAL_MODE_OUTPUT_OPENDRAIN; - #if (BOARD_EXT_GPIOCHIPS > 0) this->ext = false; #endif @@ -607,8 +601,8 @@ void OutputPin::initPin(const char *msg, brain_pin_e brainPin, pin_output_mode_e return; } - this->port = port; - this->pin = pin; + m_port = port; + m_pin = pin; } #if (BOARD_EXT_GPIOCHIPS > 0) else { @@ -617,7 +611,7 @@ void OutputPin::initPin(const char *msg, brain_pin_e brainPin, pin_output_mode_e #endif #endif // briefly leave the include guard because we need to set default state in tests - this->brainPin = brainPin; + m_brainPin = brainPin; // The order of the next two calls may look strange, which is a good observation. // We call them in this order so that the pin is set to a known state BEFORE @@ -626,9 +620,13 @@ void OutputPin::initPin(const char *msg, brain_pin_e brainPin, pin_output_mode_e setDefaultPinState(outputMode); #if EFI_GPIO_HARDWARE && EFI_PROD_CODE - efiSetPadMode(msg, brainPin, mode); - if (brain_pin_is_onchip(brainPin)) { - int actualValue = palReadPad(port, pin); + iomode_t ioMode = (outputMode == OM_DEFAULT || outputMode == OM_INVERTED) ? + PAL_MODE_OUTPUT_PUSHPULL : PAL_MODE_OUTPUT_OPENDRAIN; + + efiSetPadMode(msg, m_brainPin, ioMode); +#ifndef DISABLE_PIN_STATE_VALIDATION + if (brain_pin_is_onchip(m_brainPin)) { + int actualValue = palReadPad(m_port, m_pin); // we had enough drama with pin configuration in board.h and else that we shall self-check // todo: handle OM_OPENDRAIN and OM_OPENDRAIN_INVERTED as well @@ -638,15 +636,14 @@ void OutputPin::initPin(const char *msg, brain_pin_e brainPin, pin_output_mode_e ? !actualValue : actualValue; -#ifndef DISABLE_PIN_STATE_VALIDATION // if the pin was set to logical 1, then set an error and disable the pin so that things don't catch fire if (logicalValue) { - firmwareError(ObdCode::OBD_PCM_Processor_Fault, "HARDWARE VALIDATION FAILED %s: unexpected startup pin state %s actual value=%d logical value=%d mode=%s", msg, hwPortname(brainPin), actualValue, logicalValue, getPin_output_mode_e(outputMode)); + firmwareError(ObdCode::OBD_PCM_Processor_Fault, "HARDWARE VALIDATION FAILED %s: unexpected startup pin state %s actual value=%d logical value=%d mode=%s", msg, hwPortname(m_brainPin), actualValue, logicalValue, getPin_output_mode_e(outputMode)); OutputPin::deInit(); } -#endif } } +#endif // DISABLE_PIN_STATE_VALIDATION #endif /* EFI_GPIO_HARDWARE */ } @@ -655,7 +652,7 @@ void OutputPin::deInit() { chibios_rt::CriticalSectionLocker csl; // nothing to do if not registered in the first place - if (!isBrainPinValid(brainPin)) { + if (!isInitialized()) { return; } @@ -663,14 +660,14 @@ void OutputPin::deInit() { ext = false; #endif // (BOARD_EXT_GPIOCHIPS > 0) - efiPrintf("unregistering %s", hwPortname(brainPin)); + efiPrintf("unregistering %s", hwPortname(m_brainPin)); #if EFI_GPIO_HARDWARE && EFI_PROD_CODE - efiSetPadUnused(brainPin); + efiSetPadUnused(m_brainPin); #endif /* EFI_GPIO_HARDWARE */ // Clear the pin so that it won't get set any more - brainPin = Gpio::Unassigned; + m_brainPin = Gpio::Unassigned; } #if EFI_GPIO_HARDWARE diff --git a/firmware/controllers/system/efi_gpio.h b/firmware/controllers/system/efi_gpio.h index 5548c7374e..aa89da1953 100644 --- a/firmware/controllers/system/efi_gpio.h +++ b/firmware/controllers/system/efi_gpio.h @@ -48,8 +48,11 @@ class RegisteredOutputPin : public virtual OutputPin { void init(); void unregister(); RegisteredOutputPin* const next; - const char *registrationName; + const char* getRegistrationName() const { + return m_registrationName; + } private: + const char* const m_registrationName; const uint16_t m_pinOffset; const bool m_hasPinMode; const uint16_t m_pinModeOffset; @@ -58,7 +61,7 @@ class RegisteredOutputPin : public virtual OutputPin { class RegisteredNamedOutputPin : public RegisteredOutputPin, public NamedOutputPin { public: - RegisteredNamedOutputPin(const char *name, size_t pinOffset, size_t pinModeOffset); + RegisteredNamedOutputPin(const char* name, size_t pinOffset, size_t pinModeOffset); }; class EnginePins { @@ -108,7 +111,8 @@ class EnginePins { */ RegisteredOutputPin checkEnginePin; - RegisteredNamedOutputPin tachOut; + RegisteredOutputPin tachOut; + RegisteredOutputPin speedoOut; OutputPin sdCsPin; OutputPin accelerometerCs; diff --git a/firmware/controllers/system/efi_output.h b/firmware/controllers/system/efi_output.h index 2c0df3c731..246b66c3ce 100644 --- a/firmware/controllers/system/efi_output.h +++ b/firmware/controllers/system/efi_output.h @@ -29,7 +29,7 @@ class OutputPin { // dissociates pin from this output and un-registers it in pin repository void deInit(); - bool isInitialized(); + bool isInitialized() const; bool getAndSet(int logicValue); TEST_VIRTUAL void setValue(int logicValue); @@ -39,22 +39,22 @@ class OutputPin { brain_pin_diag_e getDiag() const; #if EFI_GPIO_HARDWARE - ioportid_t port = 0; - uint8_t pin = 0; + ioportid_t m_port = 0; + uint8_t m_pin = 0; #endif /* EFI_GPIO_HARDWARE */ #if EFI_UNIT_TEST int unitTestTurnedOnCounter = 0; #endif - brain_pin_e brainPin = Gpio::Unassigned; + brain_pin_e m_brainPin = Gpio::Unassigned; #if (EFI_GPIO_HARDWARE && (BOARD_EXT_GPIOCHIPS > 0)) /* used for external pins */ bool ext = false; #endif /* EFI_GPIO_HARDWARE */ - int8_t currentLogicValue = INITIAL_PIN_STATE; + int8_t m_currentLogicValue = INITIAL_PIN_STATE; /** * we track current pin status so that we do not touch the actual hardware if we want to write new pin bit * which is same as current pin value. This maybe helps in case of status leds, but maybe it's a total over-engineering @@ -64,8 +64,7 @@ class OutputPin { void setDefaultPinState(pin_output_mode_e mode); void setOnchipValue(int electricalValue); - // 4 byte pointer is a bit of a memory waste here - pin_output_mode_e mode = OM_DEFAULT; + pin_output_mode_e m_mode = OM_DEFAULT; }; /** @@ -78,15 +77,18 @@ class NamedOutputPin : public virtual OutputPin { virtual void setHigh(); virtual void setLow(); const char *getName() const; + void setName(const char*); const char *getShortName() const; /** * @return true if pin was stopped */ bool stop(); - // todo: char pointer is a bit of a memory waste here, we can reduce RAM usage by software-based getName() method - const char *name = nullptr; + /** * rusEfi Engine Sniffer protocol uses these short names to reduce bytes usage */ - const char *shortName = nullptr; + const char* shortName = nullptr; + +private: + const char* m_name = nullptr; }; diff --git a/firmware/controllers/system/injection_gpio.cpp b/firmware/controllers/system/injection_gpio.cpp index 4a3b24fb15..7dc3cd359c 100644 --- a/firmware/controllers/system/injection_gpio.cpp +++ b/firmware/controllers/system/injection_gpio.cpp @@ -21,31 +21,31 @@ void endSimultaneousInjectionOnlyTogglePins() { } InjectorOutputPin::InjectorOutputPin() : NamedOutputPin() { - overlappingCounter = 1; // Force update in reset + m_overlappingCounter = 1; // Force update in reset reset(); injectorIndex = -1; } void InjectorOutputPin::open(efitick_t nowNt) { // per-output counter for error detection - overlappingCounter++; + m_overlappingCounter++; // global counter for logging getEngineState()->fuelInjectionCounter++; #if FUEL_MATH_EXTREME_LOGGING if (printFuelDebug) { - printf("InjectorOutputPin::open %s %d now=%0.1fms\r\n", name, overlappingCounter, (int)getTimeNowUs() / 1000.0); + printf("InjectorOutputPin::open %s %d now=%0.1fms\r\n", getName(), m_overlappingCounter, (int)getTimeNowUs() / 1000.0); } #endif /* FUEL_MATH_EXTREME_LOGGING */ - if (overlappingCounter > 1) { + if (m_overlappingCounter > 1) { // /** // * #299 // * this is another kind of overlap which happens in case of a small duty cycle after a large duty cycle // */ #if FUEL_MATH_EXTREME_LOGGING if (printFuelDebug) { - printf("overlapping, no need to touch pin %s %d\r\n", name, (int)getTimeNowUs()); + printf("overlapping, no need to touch pin %s %d\r\n", getName(), (int)getTimeNowUs()); } #endif /* FUEL_MATH_EXTREME_LOGGING */ } else { @@ -59,15 +59,15 @@ void InjectorOutputPin::open(efitick_t nowNt) { void InjectorOutputPin::close(efitick_t nowNt) { #if FUEL_MATH_EXTREME_LOGGING if (printFuelDebug) { - printf("InjectorOutputPin::close %s %d %d\r\n", name, overlappingCounter, (int)getTimeNowUs()); + printf("InjectorOutputPin::close %s %d %d\r\n", getName(), m_overlappingCounter, (int)getTimeNowUs()); } #endif /* FUEL_MATH_EXTREME_LOGGING */ - overlappingCounter--; - if (overlappingCounter > 0) { + m_overlappingCounter--; + if (m_overlappingCounter > 0) { #if FUEL_MATH_EXTREME_LOGGING if (printFuelDebug) { - printf("was overlapping, no need to touch pin %s %d\r\n", name, (int)getTimeNowUs()); + printf("was overlapping, no need to touch pin %s %d\r\n", getName(), (int)getTimeNowUs()); } #endif /* FUEL_MATH_EXTREME_LOGGING */ } else { @@ -78,8 +78,8 @@ void InjectorOutputPin::close(efitick_t nowNt) { } // Don't allow negative overlap count - if (overlappingCounter < 0) { - overlappingCounter = 0; + if (m_overlappingCounter < 0) { + m_overlappingCounter = 0; } } diff --git a/firmware/controllers/system/injection_gpio.h b/firmware/controllers/system/injection_gpio.h index 102112e0f0..1198faab3f 100644 --- a/firmware/controllers/system/injection_gpio.h +++ b/firmware/controllers/system/injection_gpio.h @@ -19,11 +19,11 @@ class InjectorOutputPin final : public NamedOutputPin { void setHigh() override; void setLow() override; - int8_t getOverlappingCounter() const { return overlappingCounter; } + int8_t getOverlappingCounter() const { return m_overlappingCounter; } // todo: re-implement this injectorIndex via address manipulation to reduce memory usage? int8_t injectorIndex; private: - int8_t overlappingCounter; + int8_t m_overlappingCounter; }; diff --git a/firmware/controllers/system/thread_controller.h b/firmware/controllers/system/thread_controller.h index 9703f0dc90..1c78a3cdf6 100644 --- a/firmware/controllers/system/thread_controller.h +++ b/firmware/controllers/system/thread_controller.h @@ -19,6 +19,7 @@ class ThreadController : public chibios_rt::BaseStaticThread { private: const tprio_t m_prio; + bool m_started = false; protected: // Override this function to implement your controller's thread's behavior. @@ -44,6 +45,10 @@ class ThreadController : public chibios_rt::BaseStaticThread */ void start() { - chibios_rt::BaseStaticThread::start(m_prio); + if (!m_started) + { + m_started = true; + chibios_rt::BaseStaticThread::start(m_prio); + } } }; diff --git a/firmware/controllers/system/timer/event_queue.cpp b/firmware/controllers/system/timer/event_queue.cpp index b6c7ff543d..e5f7d86d17 100644 --- a/firmware/controllers/system/timer/event_queue.cpp +++ b/firmware/controllers/system/timer/event_queue.cpp @@ -22,7 +22,7 @@ extern bool verboseMode; #endif /* EFI_UNIT_TEST */ EventQueue::EventQueue(efitick_t lateDelay) - : lateDelay(lateDelay) + : m_lateDelay(lateDelay) { for (size_t i = 0; i < efi::size(m_pool); i++) { tryReturnScheduling(&m_pool[i]); @@ -97,16 +97,16 @@ bool EventQueue::insertTask(scheduling_s *scheduling, efitick_t timeX, action_s scheduling->momentX = timeX; scheduling->action = action; - if (head == NULL || timeX < head->momentX) { + if (!m_head || timeX < m_head->momentX) { // here we insert into head of the linked list - LL_PREPEND2(head, scheduling, nextScheduling_s); + LL_PREPEND2(m_head, scheduling, nextScheduling_s); #if EFI_UNIT_TEST assertListIsSorted(); #endif /* EFI_UNIT_TEST */ return true; } else { // here we know we are not in the head of the list, let's find the position - linear search - scheduling_s *insertPosition = head; + scheduling_s *insertPosition = m_head; while (insertPosition->nextScheduling_s != NULL && insertPosition->nextScheduling_s->momentX < timeX) { insertPosition = insertPosition->nextScheduling_s; } @@ -131,17 +131,17 @@ void EventQueue::remove(scheduling_s* scheduling) { } // Special case: empty list, nothing to do - if (!head) { + if (!m_head) { return; } // Special case: is the item to remove at the head? - if (scheduling == head) { - head = head->nextScheduling_s; + if (scheduling == m_head) { + m_head = m_head->nextScheduling_s; scheduling->nextScheduling_s = nullptr; scheduling->action = {}; } else { - auto prev = head; // keep track of the element before the one to remove, so we can link around it + auto prev = m_head; // keep track of the element before the one to remove, so we can link around it auto current = prev->nextScheduling_s; // Find our element @@ -178,8 +178,8 @@ void EventQueue::remove(scheduling_s* scheduling) { * @return Get the timestamp of the soonest pending action, skipping all the actions in the past */ expected EventQueue::getNextEventTime(efitick_t nowX) const { - if (head != NULL) { - if (head->momentX <= nowX) { + if (m_head) { + if (m_head->momentX <= nowX) { /** * We are here if action timestamp is in the past. We should rarely be here since this 'getNextEventTime()' is * always invoked by 'scheduleTimerCallback' which is always invoked right after 'executeAllPendingActions' - but still, @@ -188,9 +188,9 @@ expected EventQueue::getNextEventTime(efitick_t nowX) const { * looks like we end up here after 'writeconfig' (which freezes the firmware) - we are late * for the next scheduled event */ - return nowX + lateDelay; + return nowX + m_lateDelay; } else { - return head->momentX; + return m_head->momentX; } } @@ -227,7 +227,7 @@ int EventQueue::executeAll(efitick_t now) { bool EventQueue::executeOne(efitick_t now) { // Read the head every time - a previously executed event could // have inserted something new at the head - scheduling_s* current = head; + scheduling_s* current = m_head; // Queue is empty - bail if (!current) { @@ -240,7 +240,7 @@ bool EventQueue::executeOne(efitick_t now) { // resetting the timer and scheduling an new interrupt is greater than just // waiting for the time to arrive. On current CPUs, this is reasonable to set // around 10 microseconds. - if (current->momentX > now + lateDelay) { + if (current->momentX > now + m_lateDelay) { return false; } @@ -252,7 +252,7 @@ bool EventQueue::executeOne(efitick_t now) { } // step the head forward, unlink this element, clear scheduled flag - head = current->nextScheduling_s; + m_head = current->nextScheduling_s; current->nextScheduling_s = nullptr; // Grab the action but clear it in the event so we can reschedule from the action's execution @@ -283,12 +283,12 @@ bool EventQueue::executeOne(efitick_t now) { int EventQueue::size(void) const { scheduling_s *tmp; int result; - LL_COUNT2(head, tmp, result, nextScheduling_s); + LL_COUNT2(m_head, tmp, result, nextScheduling_s); return result; } void EventQueue::assertListIsSorted() const { - scheduling_s *current = head; + scheduling_s *current = m_head; while (current != NULL && current->nextScheduling_s != NULL) { efiAssertVoid(ObdCode::CUSTOM_ERR_6623, current->momentX <= current->nextScheduling_s->momentX, "list order"); current = current->nextScheduling_s; @@ -296,14 +296,14 @@ void EventQueue::assertListIsSorted() const { } scheduling_s * EventQueue::getHead() { - return head; + return m_head; } // todo: reduce code duplication with another 'getElementAtIndexForUnitText' scheduling_s *EventQueue::getElementAtIndexForUnitText(int index) { scheduling_s * current; - LL_FOREACH2(head, current, nextScheduling_s) + LL_FOREACH2(m_head, current, nextScheduling_s) { if (index == 0) return current; @@ -315,10 +315,10 @@ scheduling_s *EventQueue::getElementAtIndexForUnitText(int index) { void EventQueue::clear(void) { // Flush the queue, resetting all scheduling_s as though we'd executed them - while(head) { - auto x = head; + while(m_head) { + auto x = m_head; // link next element to head - head = x->nextScheduling_s; + m_head = x->nextScheduling_s; // Reset this element x->momentX = 0; @@ -326,5 +326,5 @@ void EventQueue::clear(void) { x->action = {}; } - head = nullptr; + m_head = nullptr; } diff --git a/firmware/controllers/system/timer/event_queue.h b/firmware/controllers/system/timer/event_queue.h index 324f7e01b8..b028ed2f21 100644 --- a/firmware/controllers/system/timer/event_queue.h +++ b/firmware/controllers/system/timer/event_queue.h @@ -68,8 +68,8 @@ class EventQueue { /** * this list is sorted */ - scheduling_s *head = nullptr; - const efitick_t lateDelay; + scheduling_s *m_head = nullptr; + const efitick_t m_lateDelay; scheduling_s* m_freelist = nullptr; scheduling_s m_pool[64]; diff --git a/firmware/controllers/system/timer/pwm_generator_logic.cpp b/firmware/controllers/system/timer/pwm_generator_logic.cpp index c756231e8e..f5c49ff56a 100644 --- a/firmware/controllers/system/timer/pwm_generator_logic.cpp +++ b/firmware/controllers/system/timer/pwm_generator_logic.cpp @@ -17,6 +17,8 @@ // 1% duty cycle #define ZERO_PWM_THRESHOLD 0.01 +// 99% duty cycle +#define FULL_PWM_THRESHOLD 0.99 SimplePwm::SimplePwm() { @@ -25,7 +27,7 @@ SimplePwm::SimplePwm() } SimplePwm::SimplePwm(const char *name) : SimplePwm() { - this->name = name; + m_name = name; } PwmConfig::PwmConfig() { @@ -35,11 +37,7 @@ PwmConfig::PwmConfig() { periodNt = NAN; mode = PM_NORMAL; memset(&outputPins, 0, sizeof(outputPins)); - pwmCycleCallback = nullptr; - stateChangeCallback = nullptr; - executor = nullptr; - name = "[noname]"; - arg = this; + m_name = "[noname]"; } /** @@ -53,13 +51,13 @@ void SimplePwm::setSimplePwmDutyCycle(float dutyCycle) { return; } if (cisnan(dutyCycle)) { - warning(ObdCode::CUSTOM_DUTY_INVALID, "%s spwd:dutyCycle %.2f", name, dutyCycle); + warning(ObdCode::CUSTOM_DUTY_INVALID, "%s spwd:dutyCycle %.2f", m_name, dutyCycle); return; } else if (dutyCycle < 0) { - warning(ObdCode::CUSTOM_DUTY_TOO_LOW, "%s dutyCycle too low %.2f", name, dutyCycle); + warning(ObdCode::CUSTOM_DUTY_TOO_LOW, "%s dutyCycle too low %.2f", m_name, dutyCycle); dutyCycle = 0; } else if (dutyCycle > 1) { - warning(ObdCode::CUSTOM_PWM_DUTY_TOO_HIGH, "%s duty too high %.2f", name, dutyCycle); + warning(ObdCode::CUSTOM_PWM_DUTY_TOO_HIGH, "%s duty too high %.2f", m_name, dutyCycle); dutyCycle = 1; } @@ -70,19 +68,21 @@ void SimplePwm::setSimplePwmDutyCycle(float dutyCycle) { } #endif - // Handle zero and full duty cycle. This will cause the PWM output to behave like a plain digital output. - if (dutyCycle == 0.0f && stateChangeCallback) { - // Manually fire falling edge - stateChangeCallback(0, arg); - } else if (dutyCycle == 1.0f && stateChangeCallback) { - // Manually fire rising edge - stateChangeCallback(1, arg); - } - + // Handle near-zero and near-full duty cycle. This will cause the PWM output to behave like a plain digital output. if (dutyCycle < ZERO_PWM_THRESHOLD) { mode = PM_ZERO; + + if (m_stateChangeCallback) { + // Manually fire falling edge + m_stateChangeCallback(0, this); + } } else if (dutyCycle > FULL_PWM_THRESHOLD) { mode = PM_FULL; + + if (m_stateChangeCallback) { + // Manually fire rising edge + m_stateChangeCallback(1, this); + } } else { mode = PM_NORMAL; seq.setSwitchTime(0, dutyCycle); @@ -138,34 +138,35 @@ void PwmConfig::handleCycleStart() { return; } - if (pwmCycleCallback != NULL) { - pwmCycleCallback(this); + if (m_pwmCycleCallback) { + m_pwmCycleCallback(this); } - // Compute the maximum number of iterations without overflowing a uint32_t worth of timestamp - uint32_t iterationLimitInt32 = (0xFFFFFFFF / periodNt) - 2; - - // Maximum number of iterations that don't lose precision due to 32b float (~7 decimal significant figures) - // We want at least 0.01% timing precision (aka 1/10000 cycle, 0.072 degree for trigger stimulator), which - // means we can't do any more than 2^23 / 10000 cycles = 838 iterations before a reset - uint32_t iterationLimitFloat = 838; - - uint32_t iterationLimit = minI(iterationLimitInt32, iterationLimitFloat); - - efiAssertVoid(ObdCode::CUSTOM_ERR_6580, periodNt != 0, "period not initialized"); - efiAssertVoid(ObdCode::CUSTOM_ERR_6580, iterationLimit > 0, "iterationLimit invalid"); - if (forceCycleStart || safe.periodNt != periodNt || safe.iteration == iterationLimit) { - /** - * period length has changed - we need to reset internal state - */ - safe.startNt = getTimeNowNt(); - safe.iteration = 0; - safe.periodNt = periodNt; - - forceCycleStart = false; + + // Compute the maximum number of iterations without overflowing a uint32_t worth of timestamp + uint32_t iterationLimitInt32 = (0xFFFFFFFF / periodNt) - 2; + + // Maximum number of iterations that don't lose precision due to 32b float (~7 decimal significant figures) + // We want at least 0.01% timing precision (aka 1/10000 cycle, 0.072 degree for trigger stimulator), which + // means we can't do any more than 2^23 / 10000 cycles = 838 iterations before a reset + uint32_t iterationLimitFloat = 838; + + uint32_t iterationLimit = minI(iterationLimitInt32, iterationLimitFloat); + + efiAssertVoid(ObdCode::CUSTOM_ERR_6580, periodNt != 0, "period not initialized"); + efiAssertVoid(ObdCode::CUSTOM_ERR_6580, iterationLimit > 0, "iterationLimit invalid"); + if (forceCycleStart || safe.periodNt != periodNt || safe.iteration == iterationLimit) { + /** + * period length has changed - we need to reset internal state + */ + safe.startNt = getTimeNowNt(); + safe.iteration = 0; + safe.periodNt = periodNt; + + forceCycleStart = false; #if DEBUG_PWM - efiPrintf("state reset start=%d iteration=%d", state->safe.start, state->safe.iteration); + efiPrintf("state reset start=%d iteration=%d", state->safe.start, state->safe.iteration); #endif - } + } } /** @@ -182,10 +183,11 @@ efitick_t PwmConfig::togglePwmState() { #endif if (cisnan(periodNt)) { - /** - * NaN period means PWM is paused, we also set the pin low - */ - stateChangeCallback(0, arg); + // NaN period means PWM is paused, we also set the pin low + if (m_stateChangeCallback) { + m_stateChangeCallback(0, this); + } + return getTimeNowNt() + MS2NT(NAN_FREQUENCY_SLEEP_PERIOD_MS); } if (mode != PM_NORMAL) { @@ -212,12 +214,14 @@ efitick_t PwmConfig::togglePwmState() { { ScopePerf perf(PE::PwmConfigStateChangeCallback); - stateChangeCallback(cbStateIndex, arg); + if (m_stateChangeCallback) { + m_stateChangeCallback(cbStateIndex, this); + } } efitick_t nextSwitchTimeNt = getNextSwitchTimeNt(this); #if DEBUG_PWM - efiPrintf("%s: nextSwitchTime %d", state->name, nextSwitchTime); + efiPrintf("%s: nextSwitchTime %d", state->m_name, nextSwitchTime); #endif /* DEBUG_PWM */ // If we're very far behind schedule, restart the cycle fresh to avoid scheduling a huge pile of events all at once @@ -257,12 +261,12 @@ static void timerCallback(PwmConfig *state) { // we are here when PWM gets stopped return; } - if (state->executor == nullptr) { - firmwareError(ObdCode::CUSTOM_NULL_EXECUTOR, "exec on %s", state->name); + if (state->m_executor == nullptr) { + firmwareError(ObdCode::CUSTOM_NULL_EXECUTOR, "exec on %s", state->m_name); return; } - state->executor->scheduleByTimestampNt(state->name, &state->scheduling, switchTimeNt, { timerCallback, state }); + state->m_executor->scheduleByTimestampNt(state->m_name, &state->scheduling, switchTimeNt, { timerCallback, state }); state->dbgNestingLevel--; } @@ -281,11 +285,10 @@ void copyPwmParameters(PwmConfig *state, MultiChannelStateSequence const * seq) * this method also starts the timer cycle * See also startSimplePwm */ -void PwmConfig::weComplexInit(const char *msg, ExecutorInterface *executor, +void PwmConfig::weComplexInit(ExecutorInterface *executor, MultiChannelStateSequence const * seq, pwm_cycle_callback *pwmCycleCallback, pwm_gen_callback *stateChangeCallback) { - UNUSED(msg); - this->executor = executor; + m_executor = executor; isStopRequested = false; efiAssertVoid(ObdCode::CUSTOM_ERR_6582, periodNt != 0, "period is not initialized"); @@ -299,8 +302,8 @@ void PwmConfig::weComplexInit(const char *msg, ExecutorInterface *executor, } efiAssertVoid(ObdCode::CUSTOM_ERR_6583, seq->waveCount > 0, "waveCount should be positive"); - this->pwmCycleCallback = pwmCycleCallback; - this->stateChangeCallback = stateChangeCallback; + m_pwmCycleCallback = pwmCycleCallback; + m_stateChangeCallback = stateChangeCallback; copyPwmParameters(this, seq); @@ -330,7 +333,7 @@ void startSimplePwm(SimplePwm *state, const char *msg, ExecutorInterface *execut state->setFrequency(frequency); state->setSimplePwmDutyCycle(dutyCycle); - state->weComplexInit(msg, executor, &state->seq, NULL, (pwm_gen_callback*)applyPinState); + state->weComplexInit(executor, &state->seq, nullptr, applyPinState); } void startSimplePwmExt(SimplePwm *state, const char *msg, @@ -365,8 +368,6 @@ void startSimplePwmHard(SimplePwm *state, const char *msg, /** * This method controls the actual hardware pins - * - * This method takes ~350 ticks. */ void applyPinState(int stateIndex, PwmConfig *state) /* pwm_gen_callback */ { #if EFI_PROD_CODE diff --git a/firmware/controllers/system/timer/pwm_generator_logic.h b/firmware/controllers/system/timer/pwm_generator_logic.h index cc8cbb8ed0..3fb583ccb3 100644 --- a/firmware/controllers/system/timer/pwm_generator_logic.h +++ b/firmware/controllers/system/timer/pwm_generator_logic.h @@ -16,9 +16,6 @@ #define NAN_FREQUENCY_SLEEP_PERIOD_MS 100 -// 99% duty cycle -#define FULL_PWM_THRESHOLD 0.99 - typedef struct { /** * a copy so that all phases are executed on the same period, even if another thread @@ -39,7 +36,7 @@ typedef struct { class PwmConfig; typedef void (pwm_cycle_callback)(PwmConfig *state); -typedef void (pwm_gen_callback)(int stateIndex, void *arg); +typedef void (pwm_gen_callback)(int stateIndex, PwmConfig* pwm); typedef enum { PM_ZERO, @@ -53,15 +50,14 @@ typedef enum { class PwmConfig { public: PwmConfig(); - void *arg = nullptr; - void weComplexInit(const char *msg, + void weComplexInit( ExecutorInterface *executor, MultiChannelStateSequence const * seq, pwm_cycle_callback *pwmCycleCallback, pwm_gen_callback *callback); - ExecutorInterface *executor; + ExecutorInterface *m_executor = nullptr; /** * We need to handle zero duty cycle and 100% duty cycle in a special way @@ -75,7 +71,7 @@ class PwmConfig { void setFrequency(float frequency); void handleCycleStart(); - const char *name; + const char *m_name; // todo: 'outputPins' should be extracted away from here since technically one can want PWM scheduler without actual pin output OutputPin *outputPins[PWM_PHASE_MAX_WAVE_PER_PWM]; @@ -92,12 +88,12 @@ class PwmConfig { /** * this callback is invoked before each wave generation cycle */ - pwm_cycle_callback *pwmCycleCallback; + pwm_cycle_callback *m_pwmCycleCallback = nullptr; /** * this main callback is invoked when it's time to switch level on any of the output channels */ - pwm_gen_callback *stateChangeCallback = nullptr; + pwm_gen_callback *m_stateChangeCallback = nullptr; private: /** * float value of PWM period diff --git a/firmware/controllers/system/timer/scheduler.cpp b/firmware/controllers/system/timer/scheduler.cpp index 981a7ba9dc..e6a3d43828 100644 --- a/firmware/controllers/system/timer/scheduler.cpp +++ b/firmware/controllers/system/timer/scheduler.cpp @@ -8,14 +8,14 @@ #include "scheduler.h" void action_s::execute() { - efiAssertVoid(ObdCode::CUSTOM_ERR_ASSERT, callback != NULL, "callback==null1"); - callback(param); + efiAssertVoid(ObdCode::CUSTOM_ERR_ASSERT, m_callback != NULL, "callback==null1"); + m_callback(m_param); } schfunc_t action_s::getCallback() const { - return callback; + return m_callback; } void * action_s::getArgument() const { - return param; + return m_param; } diff --git a/firmware/controllers/system/timer/scheduler.h b/firmware/controllers/system/timer/scheduler.h index 3234420021..08c184b4ea 100644 --- a/firmware/controllers/system/timer/scheduler.h +++ b/firmware/controllers/system/timer/scheduler.h @@ -15,14 +15,14 @@ class action_s { // Allow implicit conversion from schfunc_t to action_s action_s(schfunc_t callback) : action_s(callback, nullptr) { } - action_s(schfunc_t callback, void *param) : callback(callback), param(param) { } + action_s(schfunc_t callback, void *param) : m_callback(callback), m_param(param) { } template - action_s(schfunc_t callback, TParam& param) : callback(callback), param(¶m) { } + action_s(schfunc_t callback, TParam& param) : m_callback(callback), m_param(¶m) { } // Allow any function that takes a single pointer parameter, so long as param is also of the same pointer type. // This constructor means you shouldn't ever have to cast to schfunc_t on your own. template - action_s(void (*callback)(TArg*), TArg* param) : callback((schfunc_t)callback), param(param) { } + action_s(void (*callback)(TArg*), TArg* param) : m_callback((schfunc_t)callback), m_param(param) { } void execute(); schfunc_t getCallback() const; @@ -30,12 +30,12 @@ class action_s { // Actions with a callback set are truthy, all others are falsy operator bool() const { - return callback != nullptr; + return m_callback != nullptr; } private: - schfunc_t callback = nullptr; - void *param = nullptr; + schfunc_t m_callback = nullptr; + void *m_param = nullptr; }; /** diff --git a/firmware/controllers/tcu/tc_4l6x.cpp b/firmware/controllers/tcu/tc_4l6x.cpp index 1bb5bf5535..87dfcbc232 100644 --- a/firmware/controllers/tcu/tc_4l6x.cpp +++ b/firmware/controllers/tcu/tc_4l6x.cpp @@ -153,11 +153,12 @@ void Gm4l6xTransmissionController::set32State(gear_e gear) { if (!vss.Valid) { return; } - uint8_t (*pcts)[sizeof(config->tcu_32SpeedBins)/sizeof(config->tcu_32SpeedBins[0])]; + // TODO: looks unfinished? + // uint8_t (*pcts)[sizeof(config->tcu_32SpeedBins)/sizeof(config->tcu_32SpeedBins[0])]; int pct = interpolate2d(vss.Value, config->tcu_32SpeedBins, config->tcu_32Vals); shift32Pwm.setSimplePwmDutyCycle(pct*0.01); } else { - shift32Pwm.setSimplePwmDutyCycle(0); + shift32Pwm.setSimplePwmDutyCycle(0); } } diff --git a/firmware/controllers/trigger/decoders/trigger_structure.cpp b/firmware/controllers/trigger/decoders/trigger_structure.cpp index e3afbba16e..ac9b62df0b 100644 --- a/firmware/controllers/trigger/decoders/trigger_structure.cpp +++ b/firmware/controllers/trigger/decoders/trigger_structure.cpp @@ -67,8 +67,8 @@ void TriggerWaveform::initialize(operation_mode_e operationMode, SyncEdge syncEd shapeDefinitionError = false; useOnlyPrimaryForSync = false; - this->operationMode = operationMode; - this->syncEdge = syncEdge; + m_operationMode = operationMode; + m_syncEdge = syncEdge; triggerShapeSynchPointIndex = 0; memset(expectedEventCount, 0, sizeof(expectedEventCount)); wave.reset(); @@ -97,7 +97,7 @@ int TriggerWaveform::getTriggerWaveformSynchPointIndex() const { * @see getCrankDivider */ angle_t TriggerWaveform::getCycleDuration() const { - switch (operationMode) { + switch (m_operationMode) { case FOUR_STROKE_THREE_TIMES_CRANK_SENSOR: return FOUR_STROKE_CYCLE_DURATION / SYMMETRICAL_THREE_TIMES_CRANK_SENSOR_DIVIDER; case FOUR_STROKE_SYMMETRICAL_CRANK_SENSOR: @@ -142,7 +142,7 @@ size_t TriggerWaveform::getLength() const { * 2 for FOUR_STROKE_CRANK_SENSOR * 1 otherwise */ - int multiplier = getEngineCycle(operationMode) / getCycleDuration(); + int multiplier = getEngineCycle(m_operationMode) / getCycleDuration(); return multiplier * getSize(); } @@ -165,7 +165,7 @@ angle_t TriggerWaveform::getAngle(int index) const { void TriggerWaveform::addEventClamped(angle_t angle, bool stateParam, TriggerWheel const channelIndex, float filterLeft, float filterRight) { if (angle > filterLeft && angle < filterRight) { - addEvent(angle / getEngineCycle(operationMode), stateParam, channelIndex); + addEvent(angle / getEngineCycle(m_operationMode), stateParam, channelIndex); } } @@ -174,7 +174,7 @@ void TriggerWaveform::addEventClamped(angle_t angle, bool stateParam, TriggerWhe * needed to resolve precise mode for vague wheels */ operation_mode_e TriggerWaveform::getWheelOperationMode() const { - return operationMode; + return m_operationMode; } #if EFI_UNIT_TEST @@ -213,7 +213,7 @@ void TriggerWaveform::addEvent720(angle_t angle, bool state, TriggerWheel const } void TriggerWaveform::addEvent360(angle_t angle, bool state, TriggerWheel const channelIndex) { - efiAssertVoid(ObdCode::CUSTOM_OMODE_UNDEF, operationMode == FOUR_STROKE_CAM_SENSOR || operationMode == FOUR_STROKE_CRANK_SENSOR, "Not a mode for 360"); + efiAssertVoid(ObdCode::CUSTOM_OMODE_UNDEF, m_operationMode == FOUR_STROKE_CAM_SENSOR || m_operationMode == FOUR_STROKE_CRANK_SENSOR, "Not a mode for 360"); addEvent(CRANK_MODE_MULTIPLIER * angle / FOUR_STROKE_CYCLE_DURATION, state, channelIndex); } @@ -222,7 +222,7 @@ void TriggerWaveform::addEventAngle(angle_t angle, bool state, TriggerWheel cons } void TriggerWaveform::addEvent(angle_t angle, bool state, TriggerWheel const channelIndex) { - efiAssertVoid(ObdCode::CUSTOM_OMODE_UNDEF, operationMode != OM_NONE, "operationMode not set"); + efiAssertVoid(ObdCode::CUSTOM_OMODE_UNDEF, m_operationMode != OM_NONE, "operationMode not set"); if (channelIndex == TriggerWheel:: T_SECONDARY) { needSecondTriggerInput = true; @@ -547,7 +547,7 @@ void TriggerWaveform::initializeTriggerWaveform(operation_mode_e triggerOperatio configureDaihatsu4(this); break; - case trigger_type_e::TT_VVT_JZ: + case trigger_type_e::TT_VVT_TOYOTA_3_TOOTH: initializeSkippedToothTrigger(this, 3, 0, triggerOperationMode, SyncEdge::RiseOnly); break; diff --git a/firmware/controllers/trigger/decoders/trigger_structure.h b/firmware/controllers/trigger/decoders/trigger_structure.h index 55a053758e..60966c09f4 100644 --- a/firmware/controllers/trigger/decoders/trigger_structure.h +++ b/firmware/controllers/trigger/decoders/trigger_structure.h @@ -13,6 +13,7 @@ #include "state_sequence.h" #include "engine_configuration_generated_structures.h" #include +#include "engine_state.h" #define FOUR_STROKE_ENGINE_CYCLE 720 @@ -26,26 +27,30 @@ #define assertAngleRange(angle, msg, code) {} #endif -/** - * @brief Shifts angle into the [0..720) range for four stroke and [0..360) for two stroke - * I guess this implementation would be faster than 'angle % engineCycle' - */ -#define wrapAngle2(angle, msg, code, engineCycle) \ - { \ - if (cisnan(angle)) { \ - firmwareError(ObdCode::CUSTOM_ERR_ANGLE, "a NaN %s", msg); \ - angle = 0; \ - } \ - assertAngleRange(angle, msg, code); \ - float engineCycleDurationLocalCopy = engineCycle; \ - /* todo: split this method into 'fixAngleUp' and 'fixAngleDown'*/ \ - /* as a performance optimization?*/ \ - while (angle < 0) \ - angle += engineCycleDurationLocalCopy; \ - /* todo: would 'if' work as good as 'while'? */ \ - while (angle >= engineCycleDurationLocalCopy) \ - angle -= engineCycleDurationLocalCopy; \ +// Shifts angle into the [0..720) range for four stroke and [0..360) for two stroke +static inline void wrapAngle(angle_t& angle, const char* msg, ObdCode code) { + if (cisnan(angle)) { + firmwareError(ObdCode::CUSTOM_ERR_ANGLE, "a NaN %s", msg); + angle = 0; + } + + assertAngleRange(angle, msg, code); + float engineCycle = getEngineState()->engineCycle; + + while (angle < 0) { + angle += engineCycle; + } + + while (angle >= engineCycle) { + angle -= engineCycle; } +} + +// proper method avoids un-wrapped state of variables +static inline angle_t wrapAngleMethod(angle_t param, const char *msg = "", ObdCode code = ObdCode::OBD_PCM_Processor_Fault) { + wrapAngle(param, msg, code); + return param; +} class TriggerDecoderBase; class TriggerFormDetails; @@ -138,7 +143,7 @@ class TriggerWaveform { bool useOnlyPrimaryForSync; // Which edge(s) to consider for finding the sync point: rise, fall, or both - SyncEdge syncEdge; + SyncEdge m_syncEdge; // If true, falling edges should be fully ignored on this trigger shape. bool useOnlyRisingEdges; @@ -259,7 +264,7 @@ class TriggerWaveform { /** * this is part of performance optimization */ - operation_mode_e operationMode; + operation_mode_e m_operationMode; }; /** diff --git a/firmware/controllers/trigger/instant_rpm_calculator.cpp b/firmware/controllers/trigger/instant_rpm_calculator.cpp index 753019d243..6ed4d8d3e5 100644 --- a/firmware/controllers/trigger/instant_rpm_calculator.cpp +++ b/firmware/controllers/trigger/instant_rpm_calculator.cpp @@ -58,7 +58,7 @@ float InstantRpmCalculator::calculateInstantRpm( // Hunt for a tooth ~90 degrees ago to compare to the current time angle_t previousAngle = currentAngle - engineConfiguration->instantRpmRange; - fixAngle(previousAngle, "prevAngle", ObdCode::CUSTOM_ERR_TRIGGER_ANGLE_RANGE); + wrapAngle(previousAngle, "prevAngle", ObdCode::CUSTOM_ERR_TRIGGER_ANGLE_RANGE); int prevIndex = triggerShape.findAngleIndex(triggerFormDetails, previousAngle); // now let's get precise angle for that event @@ -77,7 +77,7 @@ float InstantRpmCalculator::calculateInstantRpm( angle_t angleDiff = currentAngle - prevIndexAngle; // Wrap the angle in to the correct range (ie, could be -630 when we want +90) - fixAngle(angleDiff, "angleDiff", ObdCode::CUSTOM_ERR_6561); + wrapAngle(angleDiff, "angleDiff", ObdCode::CUSTOM_ERR_6561); // just for safety, avoid divide-by-0 if (time == 0) { diff --git a/firmware/controllers/trigger/trigger_central.cpp b/firmware/controllers/trigger/trigger_central.cpp index 868b6e57c1..bf7223f1c8 100644 --- a/firmware/controllers/trigger/trigger_central.cpp +++ b/firmware/controllers/trigger/trigger_central.cpp @@ -107,9 +107,9 @@ static int getCrankDivider(operation_mode_e operationMode) { } static bool vvtWithRealDecoder(vvt_mode_e vvtMode) { - // todo: why does VVT_2JZ not use real decoder? + // todo: why does VVT_TOYOTA_3_TOOTH not use real decoder? return vvtMode != VVT_INACTIVE - && vvtMode != VVT_2JZ + && vvtMode != VVT_TOYOTA_3_TOOTH && vvtMode != VVT_HONDA_K_INTAKE && vvtMode != VVT_MAP_V_TWIN && vvtMode != VVT_SINGLE_TOOTH; @@ -172,7 +172,7 @@ static angle_t adjustCrankPhase(int camIndex) { case VVT_NISSAN_VQ: case VVT_BOSCH_QUICK_START: case VVT_MIATA_NB: - case VVT_2JZ: + case VVT_TOYOTA_3_TOOTH: case VVT_TOYOTA_4_1: case VVT_FORD_ST170: case VVT_BARRA_3_PLUS_1: @@ -299,14 +299,15 @@ void hwHandleVvtCamSignal(bool isRising, efitick_t nowNt, int index) { } switch(engineConfiguration->vvtMode[camIndex]) { - case VVT_2JZ: - // we do not know if we are in sync or out of sync, so we have to be looking for both possibilities - if ((currentPosition < engineConfiguration->scriptSetting[4] || currentPosition > engineConfiguration->scriptSetting[5]) && - (currentPosition < engineConfiguration->scriptSetting[4] + 360 || currentPosition > engineConfiguration->scriptSetting[5] + 360)) { - // outside of the expected range + case VVT_TOYOTA_3_TOOTH: { + // Consider the tooth in the first 1/3 of the engine phase + bool inRange = angleFromPrimarySyncPoint > 0 && angleFromPrimarySyncPoint < (720 / 3); + + if (!inRange) { return; } - break; + + } break; default: // else, do nothing break; @@ -675,7 +676,7 @@ static void triggerShapeInfo() { #if EFI_PROD_CODE || EFI_SIMULATOR TriggerWaveform *shape = &getTriggerCentral()->triggerShape; TriggerFormDetails *triggerFormDetails = &getTriggerCentral()->triggerFormDetails; - efiPrintf("syncEdge=%s", getSyncEdge(TRIGGER_WAVEFORM(syncEdge))); + efiPrintf("syncEdge=%s", getSyncEdge(TRIGGER_WAVEFORM(m_syncEdge))); efiPrintf("gap from %.2f to %.2f", TRIGGER_WAVEFORM(syncronizationRatioFrom[0]), TRIGGER_WAVEFORM(syncronizationRatioTo[0])); for (size_t i = 0; i < shape->getSize(); i++) { @@ -704,7 +705,7 @@ void triggerInfo(void) { efiPrintf("Template %s (%d) trigger %s (%d) syncEdge=%s tdcOffset=%.2f", getEngine_type_e(engineConfiguration->engineType), engineConfiguration->engineType, getTrigger_type_e(engineConfiguration->trigger.type), engineConfiguration->trigger.type, - getSyncEdge(TRIGGER_WAVEFORM(syncEdge)), TRIGGER_WAVEFORM(tdcPosition)); + getSyncEdge(TRIGGER_WAVEFORM(m_syncEdge)), TRIGGER_WAVEFORM(tdcPosition)); if (engineConfiguration->trigger.type == trigger_type_e::TT_TOOTHED_WHEEL) { efiPrintf("total %d/skipped %d", engineConfiguration->trigger.customTotalToothCount, @@ -833,9 +834,9 @@ void onConfigurationChangeTriggerCallback() { getTriggerCentral()->triggerConfigChangedOnLastConfigurationChange = getTriggerCentral()->triggerConfigChangedOnLastConfigurationChange || changed; } -static void initVvtShape(TriggerWaveform& shape, const TriggerConfiguration& config, TriggerDecoderBase &initState) { - shape.initializeTriggerWaveform(FOUR_STROKE_CAM_SENSOR, config); - shape.initializeSyncPoint(initState, config); +static void initVvtShape(TriggerWaveform& shape, const TriggerConfiguration& triggerConfig, TriggerDecoderBase &initState) { + shape.initializeTriggerWaveform(FOUR_STROKE_CAM_SENSOR, triggerConfig); + shape.initializeSyncPoint(initState, triggerConfig); } void TriggerCentral::validateCamVvtCounters() { diff --git a/firmware/controllers/trigger/trigger_decoder.cpp b/firmware/controllers/trigger/trigger_decoder.cpp index 7dca25ea02..7ad70da059 100644 --- a/firmware/controllers/trigger/trigger_decoder.cpp +++ b/firmware/controllers/trigger/trigger_decoder.cpp @@ -48,7 +48,7 @@ #include "trigger_simulator.h" TriggerDecoderBase::TriggerDecoderBase(const char* name) - : name(name) + : m_name(name) { resetState(); } @@ -156,7 +156,7 @@ void TriggerFormDetails::prepareEventAngles(TriggerWaveform *shape) { efiAssertVoid(ObdCode::CUSTOM_TRIGGER_CYCLE, !cisnan(angle), "trgSyncNaN"); // Wrap the angle back in to [0, 720) - fixAngle(angle, "trgSync", ObdCode::CUSTOM_TRIGGER_SYNC_ANGLE_RANGE); + wrapAngle(angle, "trgSync", ObdCode::CUSTOM_TRIGGER_SYNC_ANGLE_RANGE); if (shape->useOnlyRisingEdges) { efiAssertVoid(ObdCode::OBD_PCM_Processor_Fault, triggerDefinitionIndex < triggerShapeLength, "trigger shape fail"); @@ -293,11 +293,11 @@ case SHAFT_SECONDARY_RISING: } void VvtTriggerDecoder::onNotEnoughTeeth(int actual, int expected) { - warning(ObdCode::CUSTOM_CAM_NOT_ENOUGH_TEETH, "cam %s trigger error: not enough teeth between sync points: actual %d expected %d", name, actual, expected); + warning(ObdCode::CUSTOM_CAM_NOT_ENOUGH_TEETH, "cam %s trigger error: not enough teeth between sync points: actual %d expected %d", m_name, actual, expected); } void VvtTriggerDecoder::onTooManyTeeth(int actual, int expected) { - warning(ObdCode::CUSTOM_CAM_TOO_MANY_TEETH, "cam %s trigger error: too many teeth between sync points: %d > %d", name, actual, expected); + warning(ObdCode::CUSTOM_CAM_TOO_MANY_TEETH, "cam %s trigger error: too many teeth between sync points: %d > %d", m_name, actual, expected); } bool TriggerDecoderBase::validateEventCounters(const TriggerWaveform& triggerShape) const { @@ -350,7 +350,7 @@ static bool shouldConsiderEdge(const TriggerWaveform& triggerShape, TriggerWheel return false; } - switch (triggerShape.syncEdge) { + switch (triggerShape.m_syncEdge) { case SyncEdge::Both: return true; case SyncEdge::RiseOnly: case SyncEdge::Rise: return isRising; @@ -505,7 +505,6 @@ expected TriggerDecoderBase::decodeTriggerEvent( } #else if (printTriggerTrace) { - float gap = 1.0 * toothDurations[0] / toothDurations[1]; for (int i = 0;itriggerCentral.triggerShape.version) { atTriggerVersion = engine->triggerCentral.triggerShape.version; - efiPrintf("Stimulator: updating trigger shape: %d/%d %d", atTriggerVersion, - engine->getGlobalConfigurationVersion(), getTimeNowMs()); - + efiPrintf("Stimulator: updating trigger shape: %d/%d", atTriggerVersion, + engine->getGlobalConfigurationVersion()); TriggerWaveform *s = &engine->triggerCentral.triggerShape; copyPwmParameters(state, &s->wave); @@ -146,7 +145,7 @@ static void startSimulatedTriggerSignal() { TriggerWaveform *s = &engine->triggerCentral.triggerShape; setTriggerEmulatorRPM(engineConfiguration->triggerSimulatorRpm); - triggerSignal.weComplexInit("position sensor", + triggerSignal.weComplexInit( &engine->executor, &s->wave, updateTriggerWaveformIfNeeded, (pwm_gen_callback*)emulatorApplyPinState); diff --git a/firmware/controllers/trigger/trigger_simulator.cpp b/firmware/controllers/trigger/trigger_simulator.cpp index f82442bd32..65e1d45e56 100644 --- a/firmware/controllers/trigger/trigger_simulator.cpp +++ b/firmware/controllers/trigger/trigger_simulator.cpp @@ -70,10 +70,10 @@ void TriggerStimulatorHelper::feedSimulatedEvent( constexpr trigger_event_e riseEvents[] = { SHAFT_PRIMARY_RISING, SHAFT_SECONDARY_RISING }; constexpr trigger_event_e fallEvents[] = { SHAFT_PRIMARY_FALLING, SHAFT_SECONDARY_FALLING }; - for (size_t i = 0; i < PWM_PHASE_MAX_WAVE_PER_PWM; i++) { - if (needEvent(stateIndex, multiChannelStateSequence, i)) { - bool currentValue = multiChannelStateSequence.getChannelState(/*phaseIndex*/i, stateIndex); - trigger_event_e event = (currentValue ? riseEvents : fallEvents)[i]; + for (size_t j = 0; j < PWM_PHASE_MAX_WAVE_PER_PWM; j++) { + if (needEvent(stateIndex, multiChannelStateSequence, j)) { + bool currentValue = multiChannelStateSequence.getChannelState(/*phaseIndex*/j, stateIndex); + trigger_event_e event = (currentValue ? riseEvents : fallEvents)[j]; if (isUsefulSignal(event, shape)) { state.decodeTriggerEvent( "sim", diff --git a/firmware/development/engine_sniffer.cpp b/firmware/development/engine_sniffer.cpp index 9b602e6959..8ebc4d908b 100644 --- a/firmware/development/engine_sniffer.cpp +++ b/firmware/development/engine_sniffer.cpp @@ -28,9 +28,6 @@ #include "engine_sniffer.h" -// a bit weird because of conditional compilation -static char shaft_signal_msg_index[15]; - #if EFI_ENGINE_SNIFFER #define addEngineSnifferEvent(name, msg) { if (getTriggerCentral()->isEngineSnifferEnabled) { waveChart.addEvent3((name), (msg)); } } #else @@ -45,6 +42,8 @@ static char shaft_signal_msg_index[15]; #define CHART_DELIMETER '!' extern WaveChart waveChart; +static char shaft_signal_msg_index[15]; + /** * This is the number of events in the digital chart which would be displayed * on the 'digital sniffer' pane @@ -242,8 +241,6 @@ void initWaveChart(WaveChart *chart) { #endif // EFI_UNIT_TEST } -#endif /* EFI_ENGINE_SNIFFER */ - void addEngineSnifferOutputPinEvent(NamedOutputPin *pin, bool isRise) { if (!engineConfiguration->engineSnifferFocusOnInputs) { addEngineSnifferEvent(pin->getShortName(), isRise ? PROTOCOL_ES_UP : PROTOCOL_ES_DOWN); @@ -253,9 +250,9 @@ void addEngineSnifferOutputPinEvent(NamedOutputPin *pin, bool isRise) { void addEngineSnifferTdcEvent(int rpm) { static char rpmBuffer[_MAX_FILLER]; itoa10(rpmBuffer, rpm); -#if EFI_ENGINE_SNIFFER + waveChart.startDataCollection(); -#endif + addEngineSnifferEvent(TOP_DEAD_CENTER_MESSAGE, (char* ) rpmBuffer); } @@ -282,3 +279,6 @@ void addEngineSnifferVvtEvent(int vvtIndex, bool isRise) { addEngineSnifferEvent(vvtName, isRise ? PROTOCOL_ES_UP : PROTOCOL_ES_DOWN); } + +#endif /* EFI_ENGINE_SNIFFER */ + diff --git a/firmware/development/logic_analyzer.cpp b/firmware/development/logic_analyzer.cpp index df41e97a33..8b5f581a4f 100644 --- a/firmware/development/logic_analyzer.cpp +++ b/firmware/development/logic_analyzer.cpp @@ -218,7 +218,7 @@ static void reportWave(Logging *logging, int index) { logging->appendPrintf("advance%d%s", index, LOG_DELIMITER); float angle = (offsetUs / oneDegreeUs) - tdcPosition(); - fixAngle(angle, "waveAn", ObdCode::CUSTOM_ERR_6564); + wrapAngle(angle, "waveAn", ObdCode::CUSTOM_ERR_6564); logging->appendFloat(angle, 3); logging->appendPrintf("%s", LOG_DELIMITER); } diff --git a/firmware/ext/openblt b/firmware/ext/openblt index dd0ba5104d..9cb6c04d84 160000 --- a/firmware/ext/openblt +++ b/firmware/ext/openblt @@ -1 +1 @@ -Subproject commit dd0ba5104d0ea3f1d2260f038ad7f4cdb98377be +Subproject commit 9cb6c04d8426feaee4ea973aa1dccb8c6e7f43a6 diff --git a/firmware/gen_config.sh b/firmware/gen_config.sh index 96e71dc34b..377fa4f66b 100755 --- a/firmware/gen_config.sh +++ b/firmware/gen_config.sh @@ -35,10 +35,11 @@ for BOARD in \ "config/boards/hellen/hellen-gm-e67 hellen-gm-e67" \ "config/boards/hellen/hellen64_miataNA6_94 hellenNA6" \ "config/boards/hellen/hellenNA8_96 hellenNA8_96" \ + "config/boards/hellen/small-can-board small-can-board" \ "config/boards/microrusefi mre_f7" \ "config/boards/microrusefi mre_f4" \ "config/boards/core8 core8" \ - "config/boards/48way 48way" \ + "config/boards/core48 core48" \ "config/boards/frankenso frankenso_na6" \ "config/boards/prometheus prometheus_469" \ "config/boards/prometheus prometheus_405" \ diff --git a/firmware/hw_layer/adc/AdcConfiguration.h b/firmware/hw_layer/adc/AdcConfiguration.h index cae15a55cd..4ced83b04e 100644 --- a/firmware/hw_layer/adc/AdcConfiguration.h +++ b/firmware/hw_layer/adc/AdcConfiguration.h @@ -34,19 +34,20 @@ class AdcDevice { uint8_t internalAdcIndexByHardwareIndex[EFI_ADC_LAST_CHANNEL]; bool isHwUsed(adc_channel_e hwChannel) const; int size() const; - void init(void); + void init(); uint32_t conversionCount = 0; uint32_t errorsCount = 0; int getAdcValueByIndex(int internalIndex) const; - adcsample_t *samples; - size_t buf_len; + adcsample_t* const m_samples; int getAdcValueByHwChannel(adc_channel_e hwChannel) const; adc_state values; private: - ADCConversionGroup* hwConfig; + ADCConversionGroup* const m_hwConfig; + const size_t m_buf_len; + /** * Number of ADC channels in use */ diff --git a/firmware/hw_layer/adc/adc_inputs.cpp b/firmware/hw_layer/adc/adc_inputs.cpp index 60b673a7b3..7a7d4e2071 100644 --- a/firmware/hw_layer/adc/adc_inputs.cpp +++ b/firmware/hw_layer/adc/adc_inputs.cpp @@ -39,7 +39,6 @@ float __attribute__((weak)) getAnalogInputDividerCoefficient(adc_channel_e) { #endif static NO_CACHE adcsample_t slowAdcSamples[SLOW_ADC_CHANNEL_COUNT]; -static NO_CACHE adcsample_t fastAdcSampleBuf[ADC_BUF_DEPTH_FAST * ADC_MAX_CHANNELS_COUNT]; static adc_channel_mode_e adcHwChannelEnabled[HW_MAX_ADC_INDEX]; @@ -54,17 +53,17 @@ float getVoltage(const char *msg, adc_channel_e hwChannel) { } #if EFI_USE_FAST_ADC -AdcDevice::AdcDevice(ADCConversionGroup* hwConfig, adcsample_t *buf, size_t buf_len) { - this->hwConfig = hwConfig; - this->samples = buf; - this->buf_len = buf_len; - - hwConfig->sqr1 = 0; - hwConfig->sqr2 = 0; - hwConfig->sqr3 = 0; +AdcDevice::AdcDevice(ADCConversionGroup* hwConfig, adcsample_t *buf, size_t buf_len) + : m_samples(buf) + , m_hwConfig(hwConfig) + , m_buf_len(buf_len) +{ + m_hwConfig->sqr1 = 0; + m_hwConfig->sqr2 = 0; + m_hwConfig->sqr3 = 0; #if ADC_MAX_CHANNELS_COUNT > 16 - hwConfig->sqr4 = 0; - hwConfig->sqr5 = 0; + m_hwConfig->sqr4 = 0; + m_hwConfig->sqr5 = 0; #endif /* ADC_MAX_CHANNELS_COUNT */ memset(hardwareIndexByIndernalAdcIndex, EFI_ADC_NONE, sizeof(hardwareIndexByIndernalAdcIndex)); memset(internalAdcIndexByHardwareIndex, 0xFF, sizeof(internalAdcIndexByHardwareIndex)); @@ -149,6 +148,7 @@ static ADCConversionGroup adcgrpcfgFast = { #endif /* ADC_MAX_CHANNELS_COUNT */ }; +static NO_CACHE adcsample_t fastAdcSampleBuf[ADC_BUF_DEPTH_FAST * ADC_MAX_CHANNELS_COUNT]; AdcDevice fastAdc(&adcgrpcfgFast, fastAdcSampleBuf, efi::size(fastAdcSampleBuf)); static void fast_adc_callback(GPTDriver*) { @@ -170,7 +170,7 @@ static void fast_adc_callback(GPTDriver*) { return; } - adcStartConversionI(&ADC_FAST_DEVICE, &adcgrpcfgFast, fastAdc.samples, ADC_BUF_DEPTH_FAST); + adcStartConversionI(&ADC_FAST_DEVICE, &adcgrpcfgFast, fastAdc.m_samples, ADC_BUF_DEPTH_FAST); chSysUnlockFromISR() ; fastAdc.conversionCount++; @@ -195,7 +195,7 @@ int getInternalAdcValue(const char *msg, adc_channel_e hwChannel) { int internalIndex = fastAdc.internalAdcIndexByHardwareIndex[hwChannel]; // todo if ADC_BUF_DEPTH_FAST EQ 1 // return fastAdc.samples[internalIndex]; - int value = getAvgAdcValue(internalIndex, fastAdc.samples, ADC_BUF_DEPTH_FAST, fastAdc.size()); + int value = getAvgAdcValue(internalIndex, fastAdc.m_samples, ADC_BUF_DEPTH_FAST, fastAdc.size()); return value; } #endif // EFI_USE_FAST_ADC @@ -236,8 +236,8 @@ int AdcDevice::getAdcValueByIndex(int internalIndex) const { return values.adc_data[internalIndex]; } -void AdcDevice::init(void) { - hwConfig->num_channels = size(); +void AdcDevice::init() { + m_hwConfig->num_channels = size(); /* driver does this internally */ //hwConfig->sqr1 += ADC_SQR1_NUM_CH(size()); } @@ -267,18 +267,18 @@ void AdcDevice::enableChannel(adc_channel_e hwChannel) { internalAdcIndexByHardwareIndex[hwChannel] = logicChannel; hardwareIndexByIndernalAdcIndex[logicChannel] = hwChannel; if (logicChannel < 6) { - hwConfig->sqr3 |= channelAdcIndex << (5 * logicChannel); + m_hwConfig->sqr3 |= channelAdcIndex << (5 * logicChannel); } else if (logicChannel < 12) { - hwConfig->sqr2 |= channelAdcIndex << (5 * (logicChannel - 6)); + m_hwConfig->sqr2 |= channelAdcIndex << (5 * (logicChannel - 6)); } else if (logicChannel < 18) { - hwConfig->sqr1 |= channelAdcIndex << (5 * (logicChannel - 12)); + m_hwConfig->sqr1 |= channelAdcIndex << (5 * (logicChannel - 12)); } #if ADC_MAX_CHANNELS_COUNT > 16 else if (logicChannel < 24) { - hwConfig->sqr4 |= channelAdcIndex << (5 * (logicChannel - 18)); + m_hwConfig->sqr4 |= channelAdcIndex << (5 * (logicChannel - 18)); } else if (logicChannel < 30) { - hwConfig->sqr5 |= channelAdcIndex << (5 * (logicChannel - 24)); + m_hwConfig->sqr5 |= channelAdcIndex << (5 * (logicChannel - 24)); } #endif /* ADC_MAX_CHANNELS_COUNT */ } @@ -308,7 +308,7 @@ void printFullAdcReport(void) { if (isAdcChannelValid(hwIndex)) { ioportid_t port = getAdcChannelPort("print", hwIndex); int pin = getAdcChannelPin(hwIndex); - int adcValue = getAvgAdcValue(internalIndex, fastAdc.samples, ADC_BUF_DEPTH_FAST, fastAdc.size()); + int adcValue = getAvgAdcValue(internalIndex, fastAdc.m_samples, ADC_BUF_DEPTH_FAST, fastAdc.size()); float volts = adcToVolts(adcValue); /* Human index starts from 1 */ efiPrintf(" F ch[%2d] @ %s%d ADC%d 12bit=%4d %.2fV", diff --git a/firmware/hw_layer/adc/ads1015.cpp b/firmware/hw_layer/adc/ads1015.cpp index 98dcf95f47..fb7d38a6ac 100644 --- a/firmware/hw_layer/adc/ads1015.cpp +++ b/firmware/hw_layer/adc/ads1015.cpp @@ -31,10 +31,10 @@ void Ads1015::readChannels(float (&result)[4]) { } } -float Ads1015::readChannel(uint8_t ch) { +float Ads1015::readChannel(uint8_t channel) { // set the channel // set to +-6.144v full scale, fastest sampling, manual conversion start - writeReg(ADS1015_CONFIG, 0xC1E0 | ch << 12); + writeReg(ADS1015_CONFIG, 0xC1E0 | channel << 12); // Wait for conversion to complete // Bit is cleared while conversion is ongoing, set when done diff --git a/firmware/hw_layer/drivers/can/can_hw.cpp b/firmware/hw_layer/drivers/can/can_hw.cpp index 2f8d31acfc..2cd51392c8 100644 --- a/firmware/hw_layer/drivers/can/can_hw.cpp +++ b/firmware/hw_layer/drivers/can/can_hw.cpp @@ -26,7 +26,7 @@ static bool isCanEnabled = false; class CanRead final : protected ThreadController { public: - CanRead(size_t index) + CanRead(CanBusIndex index) : ThreadController("CAN RX", PRIO_CAN_RX) , m_index(index) { @@ -57,13 +57,13 @@ class CanRead final : protected ThreadController { } private: - const size_t m_index; + const CanBusIndex m_index; CANRxFrame m_buffer; CANDriver* m_device; }; -CCM_OPTIONAL static CanRead canRead1(0); -CCM_OPTIONAL static CanRead canRead2(1); +CCM_OPTIONAL static CanRead canRead1(CanBusIndex::Bus0); +CCM_OPTIONAL static CanRead canRead2(CanBusIndex::Bus1); static CanWrite canWrite CCM_OPTIONAL; static void canInfo() { diff --git a/firmware/hw_layer/drivers/can/can_msg_tx.cpp b/firmware/hw_layer/drivers/can/can_msg_tx.cpp index a0c1e52782..f790e14ea3 100644 --- a/firmware/hw_layer/drivers/can/can_msg_tx.cpp +++ b/firmware/hw_layer/drivers/can/can_msg_tx.cpp @@ -22,7 +22,9 @@ } #endif // EFI_CAN_SUPPORT -CanTxMessage::CanTxMessage(uint32_t eid, uint8_t dlc, size_t bus, bool isExtended) { +CanTxMessage::CanTxMessage(uint32_t eid, uint8_t dlc, CanBusIndex bus, bool isExtended) + : m_busIndex(bus) +{ #if HAL_USE_CAN || EFI_UNIT_TEST #ifndef STM32H7XX // ST bxCAN device @@ -42,14 +44,13 @@ CanTxMessage::CanTxMessage(uint32_t eid, uint8_t dlc, size_t bus, bool isExtende setDlc(dlc); - setBus(bus); - memset(m_frame.data8, 0, sizeof(m_frame.data8)); #endif // HAL_USE_CAN || EFI_UNIT_TEST } CanTxMessage::~CanTxMessage() { #if EFI_CAN_SUPPORT + size_t busIndex = static_cast(m_busIndex); auto device = s_devices[busIndex]; if (!device) { @@ -93,10 +94,6 @@ void CanTxMessage::setDlc(uint8_t dlc) { m_frame.DLC = dlc; } -void CanTxMessage::setBus(size_t bus) { - busIndex = bus; -} - void CanTxMessage::setShortValue(uint16_t value, size_t offset) { m_frame.data8[offset] = value & 0xFF; m_frame.data8[offset + 1] = value >> 8; diff --git a/firmware/hw_layer/drivers/can/can_msg_tx.h b/firmware/hw_layer/drivers/can/can_msg_tx.h index a90852d70d..1a6f920c35 100644 --- a/firmware/hw_layer/drivers/can/can_msg_tx.h +++ b/firmware/hw_layer/drivers/can/can_msg_tx.h @@ -28,7 +28,7 @@ class CanTxMessage /** * Create a new CAN message, with the specified extended ID. */ - explicit CanTxMessage(uint32_t eid, uint8_t dlc = 8, size_t bus = 0, bool isExtended = false); + explicit CanTxMessage(uint32_t eid, uint8_t dlc, CanBusIndex bus = CanBusIndex::Bus0, bool isExtended = false); /** * Destruction of an instance of CanTxMessage will transmit the message over the wire. @@ -42,8 +42,6 @@ class CanTxMessage static void setDevice(CANDriver* device1, CANDriver* device2); #endif // EFI_CAN_SUPPORT - size_t busIndex = 0; - /** * @brief Read & write the raw underlying 8-byte buffer. */ @@ -61,8 +59,6 @@ class CanTxMessage void setDlc(uint8_t dlc); - void setBus(size_t bus); - #if HAL_USE_CAN || EFI_UNIT_TEST const CANTxFrame *getFrame() const { return &m_frame; @@ -78,6 +74,8 @@ class CanTxMessage #if EFI_CAN_SUPPORT static CANDriver* s_devices[2]; #endif // EFI_CAN_SUPPORT + + const CanBusIndex m_busIndex; }; /** @@ -91,7 +89,7 @@ class CanTxTyped final : public CanTxMessage #endif // EFI_CAN_SUPPORT public: - explicit CanTxTyped(uint32_t id, bool isExtended) : CanTxMessage(id, sizeof(TData), isExtended) { } + explicit CanTxTyped(uint32_t id, bool isExtended, CanBusIndex canChannel) : CanTxMessage(id, sizeof(TData), canChannel, isExtended) { } #if EFI_CAN_SUPPORT /** @@ -112,9 +110,9 @@ class CanTxTyped final : public CanTxMessage }; template -void transmitStruct(uint32_t id, bool isExtended) +void transmitStruct(uint32_t id, bool isExtended, CanBusIndex canChannel) { - CanTxTyped frame(id, isExtended); + CanTxTyped frame(id, isExtended, canChannel); // Destruction of an instance of CanTxMessage will transmit the message over the wire. // see CanTxMessage::~CanTxMessage() populateFrame(frame.get()); diff --git a/firmware/hw_layer/drivers/gpio/l9779.cpp b/firmware/hw_layer/drivers/gpio/l9779.cpp index 3610ba7082..6106015ced 100644 --- a/firmware/hw_layer/drivers/gpio/l9779.cpp +++ b/firmware/hw_layer/drivers/gpio/l9779.cpp @@ -171,8 +171,8 @@ struct L9779 : public GpioChip { int spi_err_parity; /* parity errors in rx data */ int spi_err_frame; /* rx messages with bit 15 set */ int spi_err; /* rx messages with incorrect ADDR or WR fields */ - uint16_t tx; - uint16_t rx; + uint16_t recentTx; + uint16_t recentRx; }; static L9779 chips[BOARD_L9779_COUNT]; @@ -272,8 +272,8 @@ int L9779::spi_rw(uint16_t tx, uint16_t *rx_ptr) spiReleaseBus(spi); /* statisctic and debug */ - this->tx = tx; - this->rx = rx; + recentTx = tx; + recentRx = rx; this->spi_cnt++; if (rx_ptr) @@ -282,9 +282,9 @@ int L9779::spi_rw(uint16_t tx, uint16_t *rx_ptr) /* validate reply */ ret = spi_validate(rx); /* save last accessed register */ - last_addr = MSG_GET_ADDR(this->tx); + last_addr = MSG_GET_ADDR(recentTx); if (last_addr == MSG_READ_ADDR) - last_subaddr = MSG_GET_SUBADDR(this->tx); + last_subaddr = MSG_GET_SUBADDR(recentTx); else last_subaddr = REG_INVALID; @@ -319,16 +319,16 @@ int L9779::spi_rw_array(const uint16_t *tx, uint16_t *rx, int n) spiUnselect(spi); /* statistic and debug */ - this->tx = tx[i]; - this->rx = rxdata; + recentTx = tx[i]; + recentRx = rxdata; this->spi_cnt++; /* validate reply */ ret = spi_validate(rxdata); /* save last accessed register */ - last_addr = MSG_GET_ADDR(this->tx); + last_addr = MSG_GET_ADDR(recentTx); if (last_addr == MSG_READ_ADDR) - last_subaddr = MSG_GET_SUBADDR(this->tx); + last_subaddr = MSG_GET_SUBADDR(recentTx); else last_subaddr = REG_INVALID; @@ -657,9 +657,9 @@ int L9779::chip_init_data(void) err_gpios: /* unmark pins */ - for (int i = 0; i < L9779_DIRECT_OUTPUTS; i++) { - if (cfg->direct_gpio[i].port) { - gpio_pin_markUnused(cfg->direct_gpio[i].port, cfg->direct_gpio[i].pad); + for (int j = 0; j < L9779_DIRECT_OUTPUTS; j++) { + if (cfg->direct_gpio[j].port) { + gpio_pin_markUnused(cfg->direct_gpio[j].port, cfg->direct_gpio[j].pad); } } diff --git a/firmware/hw_layer/drivers/gpio/protected_gpio.cpp b/firmware/hw_layer/drivers/gpio/protected_gpio.cpp index 0de5ce1e5e..a7dccac114 100644 --- a/firmware/hw_layer/drivers/gpio/protected_gpio.cpp +++ b/firmware/hw_layer/drivers/gpio/protected_gpio.cpp @@ -22,8 +22,8 @@ class ProtectedGpio { const ProtectedGpioConfig* m_config; }; -void ProtectedGpio::configure(const ProtectedGpioConfig& config) { - m_config = &config; +void ProtectedGpio::configure(const ProtectedGpioConfig& cfg) { + m_config = &cfg; } int ProtectedGpio::setPadMode(iomode_t mode) { diff --git a/firmware/hw_layer/drivers/gpio/tle8888.cpp b/firmware/hw_layer/drivers/gpio/tle8888.cpp index 0b987be96b..deadcfb00a 100644 --- a/firmware/hw_layer/drivers/gpio/tle8888.cpp +++ b/firmware/hw_layer/drivers/gpio/tle8888.cpp @@ -261,8 +261,8 @@ struct Tle8888 : public GpioChip { int init_cnt; int init_req_cnt; int spi_cnt; - uint16_t tx; - uint16_t rx; + uint16_t recentTx; + uint16_t recentRx; }; static Tle8888 chips[BOARD_TLE8888_COUNT]; @@ -368,8 +368,8 @@ int Tle8888::spi_rw(uint16_t tx, uint16_t *rx_ptr) spiReleaseBus(spi); /* statisctic and debug */ - this->tx = tx; - this->rx = rx; + recentTx = tx; + recentRx = rx; this->spi_cnt++; if (rx_ptr) @@ -420,8 +420,8 @@ int Tle8888::spi_rw_array(const uint16_t *tx, uint16_t *rx, int n) spiUnselect(spi); /* statistic and debug */ - this->tx = tx[i]; - this->rx = rxdata; + recentTx = tx[i]; + recentRx = rxdata; this->spi_cnt++; /* validate reply and save last accessed register */ @@ -1172,9 +1172,9 @@ int Tle8888::chip_init_data() { gpio_pin_markUnused(cfg->ign_en.port, cfg->ign_en.pad); if (cfg->reset.port != NULL) gpio_pin_markUnused(cfg->reset.port, cfg->reset.pad); - for (int i = 0; i < TLE8888_DIRECT_OUTPUTS; i++) { - if (cfg->direct_gpio[i].port) { - gpio_pin_markUnused(cfg->direct_gpio[i].port, cfg->direct_gpio[i].pad); + for (int j = 0; j < TLE8888_DIRECT_OUTPUTS; j++) { + if (cfg->direct_gpio[j].port) { + gpio_pin_markUnused(cfg->direct_gpio[j].port, cfg->direct_gpio[j].pad); } } diff --git a/firmware/hw_layer/drivers/sent/sent.cpp b/firmware/hw_layer/drivers/sent/sent.cpp index 8d5f4515a5..6c80a924ce 100644 --- a/firmware/hw_layer/drivers/sent/sent.cpp +++ b/firmware/hw_layer/drivers/sent/sent.cpp @@ -543,9 +543,9 @@ static MAILBOX_DECL(sent_mb, sent_mb_buffer, SENT_MB_SIZE); static THD_WORKING_AREA(waSentDecoderThread, 256); -void SENT_ISR_Handler(uint8_t ch, uint16_t clocks) { +void SENT_ISR_Handler(uint8_t channel, uint16_t clocks) { /* encode to fit msg_t */ - msg_t msg = (ch << 16) | clocks; + msg_t msg = (channel << 16) | clocks; /* called from ISR */ chSysLockFromISR(); @@ -565,17 +565,17 @@ static void SentDecoderThread(void*) { uint8_t n = (msg >> 16) & 0xff; if (n < SENT_CHANNELS_NUM) { - sent_channel &ch = channels[n]; + sent_channel &channel = channels[n]; - if (ch.Decoder(tick) > 0) { + if (channel.Decoder(tick) > 0) { uint16_t sig0, sig1; - ch.GetSignals(NULL, &sig0, &sig1); + channel.GetSignals(NULL, &sig0, &sig1); engine->sent_state.value0 = sig0; engine->sent_state.value1 = sig1; #if SENT_STATISTIC_COUNTERS - engine->sent_state.errorRate = ch.statistic.getErrorRate(); + engine->sent_state.errorRate = channel.statistic.getErrorRate(); #endif // SENT_STATISTIC_COUNTERS @@ -588,10 +588,8 @@ static void SentDecoderThread(void*) { static void printSentInfo() { for (int i = 0; i < SENT_CHANNELS_NUM; i++) { - sent_channel &ch = channels[i]; - efiPrintf("---- SENT ch %d ----", i); - ch.Info(); + channels[i].Info(); efiPrintf("--------------------"); } } @@ -601,9 +599,8 @@ static void printSentInfo() { float getSentValue(size_t index) { if (index < SENT_CHANNELS_NUM) { uint16_t sig0, sig1; - sent_channel &ch = channels[index]; - if (ch.GetSignals(NULL, &sig0, &sig1) == 0) { + if (channels[index].GetSignals(NULL, &sig0, &sig1) == 0) { // GM sig0 + sig1 == 0xfff but Ford does not /* scale to 0.0 .. 1.0 */ @@ -616,9 +613,7 @@ float getSentValue(size_t index) { int getSentValues(size_t index, uint16_t *sig0, uint16_t *sig1) { if (index < SENT_CHANNELS_NUM) { - sent_channel &ch = channels[index]; - - return ch.GetSignals(NULL, sig0, sig1); + return channels[index].GetSignals(NULL, sig0, sig1); } /* invalid channel */ diff --git a/firmware/hw_layer/hardware.cpp b/firmware/hw_layer/hardware.cpp index b9904e9399..41fdf588f0 100644 --- a/firmware/hw_layer/hardware.cpp +++ b/firmware/hw_layer/hardware.cpp @@ -24,7 +24,6 @@ #include "sensor_chart.h" #include "serial_hw.h" #include "idle_thread.h" -#include "odometer.h" #include "kline.h" #if EFI_PROD_CODE @@ -79,7 +78,7 @@ void unlockSpi(spi_device_e device) { spiReleaseBus(getSpiDevice(device)); } -static void initSpiModules(engine_configuration_s *engineConfiguration) { +static void initSpiModules() { UNUSED(engineConfiguration); if (engineConfiguration->is_enabled_spi_1) { turnOnSpi(SPI_DEVICE_1); @@ -192,12 +191,6 @@ static void calcFastAdcIndexes() { #endif/* HAL_USE_ADC */ } -static void adcConfigListener(Engine *engine) { - UNUSED(engine); - // todo: something is not right here - looks like should be a callback for each configuration change? - calcFastAdcIndexes(); -} - void stopSpi(spi_device_e device) { #if HAL_USE_SPI if (!isSpiInitialized[device]) { @@ -329,15 +322,15 @@ void applyNewHardwareSettings() { #if EFI_LOGIC_ANALYZER startLogicAnalyzerPins(); #endif /* EFI_LOGIC_ANALYZER */ -#if EFI_AUX_PID +#if EFI_VVT_PID startVvtControlPins(); -#endif /* EFI_AUX_PID */ +#endif /* EFI_VVT_PID */ #if EFI_SENT_SUPPORT startSent(); #endif - adcConfigListener(engine); + calcFastAdcIndexes(); } // This function initializes hardware that can do so before configuration is loaded @@ -399,9 +392,9 @@ void stopHardware() { stopTriggerEmulatorPins(); #endif /* EFI_EMULATE_POSITION_SENSORS */ -#if EFI_AUX_PID +#if EFI_VVT_PID stopVvtControlPins(); -#endif /* EFI_AUX_PID */ +#endif /* EFI_VVT_PID */ } /** @@ -440,12 +433,6 @@ void initHardware() { return; } -#if STM32_I2C_USE_I2C3 - if (engineConfiguration->useEeprom) { - i2cStart(&EE_U2CD, &i2cfg); - } -#endif // STM32_I2C_USE_I2C3 - boardInitHardware(); #if HAL_USE_ADC @@ -464,7 +451,7 @@ void initHardware() { #endif // TRIGGER_SCOPE #if HAL_USE_SPI - initSpiModules(engineConfiguration); + initSpiModules(); #endif /* HAL_USE_SPI */ #if EFI_PROD_CODE && (BOARD_EXT_GPIOCHIPS > 0) diff --git a/firmware/hw_layer/kline.h b/firmware/hw_layer/kline.h index 434c24d5cd..81f9df9bdc 100644 --- a/firmware/hw_layer/kline.h +++ b/firmware/hw_layer/kline.h @@ -1,9 +1,15 @@ #pragma once -#define KLINE_SERIAL_DEVICE (&SD2) +#ifndef KLINE_SERIAL_DEVICE +#define KLINE_SERIAL_DEVICE SD2 +#endif +#ifndef KLINE_SERIAL_DEVICE_RX #define KLINE_SERIAL_DEVICE_RX H144_UART2_RX +#endif +#ifndef KLINE_SERIAL_DEVICE_TX #define KLINE_SERIAL_DEVICE_TX H144_UART2_TX +#endif // The standard transmission rate #define KLINE_BAUD_RATE 10400 diff --git a/firmware/hw_layer/mass_storage/create_ini_image.sh b/firmware/hw_layer/mass_storage/create_ini_image.sh index bd62f7d051..5091b06125 100755 --- a/firmware/hw_layer/mass_storage/create_ini_image.sh +++ b/firmware/hw_layer/mass_storage/create_ini_image.sh @@ -13,7 +13,7 @@ SHORT_BOARDNAME=$4 BOARD_SPECIFIC_URL=$5 IMAGE=ramdisk.image -ZIP=rusefi.ini.zip +ZIP=fome.ini.zip # mkfs.fat and fatlabel are privileged on some systems PATH="$PATH:/usr/sbin" diff --git a/firmware/hw_layer/microsecond_timer/microsecond_timer.cpp b/firmware/hw_layer/microsecond_timer/microsecond_timer.cpp index 18bbaa09ef..9de007e534 100644 --- a/firmware/hw_layer/microsecond_timer/microsecond_timer.cpp +++ b/firmware/hw_layer/microsecond_timer/microsecond_timer.cpp @@ -136,11 +136,11 @@ static void watchDogBuddyCallback(void*) { } static volatile bool testSchedulingHappened = false; -static efitimems_t testSchedulingStart; +static Timer testScheduling; static void timerValidationCallback(void*) { testSchedulingHappened = true; - efitimems_t actualTimeSinceScheduling = (getTimeNowMs() - testSchedulingStart); + efitimems_t actualTimeSinceScheduling = 1e3 * testScheduling.getElapsedSeconds(); if (absI(actualTimeSinceScheduling - TEST_CALLBACK_DELAY) > TEST_CALLBACK_DELAY * TIMER_PRECISION_THRESHOLD) { firmwareError(ObdCode::CUSTOM_ERR_TIMER_TEST_CALLBACK_WRONG_TIME, "hwTimer broken precision: %ld ms", actualTimeSinceScheduling); @@ -155,7 +155,7 @@ static void validateHardwareTimer() { if (hasFirmwareError()) { return; } - testSchedulingStart = getTimeNowMs(); + testScheduling.reset(); // to save RAM let's use 'watchDogBuddy' here once before we enable watchdog engine->executor.scheduleForLater("hw-validate", &watchDogBuddy, MS2US(TEST_CALLBACK_DELAY), timerValidationCallback); diff --git a/firmware/hw_layer/mmc_card.cpp b/firmware/hw_layer/mmc_card.cpp index 4edd81c1dc..2904ff7f15 100644 --- a/firmware/hw_layer/mmc_card.cpp +++ b/firmware/hw_layer/mmc_card.cpp @@ -23,13 +23,14 @@ static bool fs_ready = false; int totalLoggedBytes = 0; + +#if EFI_PROD_CODE + static int fileCreatedCounter = 0; static int writeCounter = 0; static int totalWritesCounter = 0; static int totalSyncCounter = 0; -#if EFI_PROD_CODE - #include #include #include "mmc_card.h" @@ -546,13 +547,6 @@ void mlgLogger() { } #endif - if (engineConfiguration->debugMode == DBG_SD_CARD) { - engine->outputChannels.debugIntField1 = totalLoggedBytes; - engine->outputChannels.debugIntField2 = totalWritesCounter; - engine->outputChannels.debugIntField3 = totalSyncCounter; - engine->outputChannels.debugIntField4 = fileCreatedCounter; - } - writeSdLogLine(logBuffer); // Something went wrong (already handled), so cancel further writes diff --git a/firmware/hw_layer/pin_repository.h b/firmware/hw_layer/pin_repository.h index c9b35f62e8..e288a49d3c 100644 --- a/firmware/hw_layer/pin_repository.h +++ b/firmware/hw_layer/pin_repository.h @@ -14,40 +14,33 @@ #include "io_pins.h" #include "efi_gpio.h" -#ifdef __cplusplus - -class PinRepository { - public: - /** - * Class constructors are a great way to have simple initialization sequence - */ +struct PinRepository { +public: PinRepository(); const char *PIN_USED[BRAIN_PIN_TOTAL_PINS]; }; -#endif /* __cplusplus */ - bool isBrainPinValid(brain_pin_e brainPin); void initPinRepository(void); -EXTERNC bool brain_pin_is_onchip(brain_pin_e brainPin); -EXTERNC bool brain_pin_is_ext(brain_pin_e brainPin); +bool brain_pin_is_onchip(brain_pin_e brainPin); +bool brain_pin_is_ext(brain_pin_e brainPin); void pinDiag2string(char *buffer, size_t size, brain_pin_diag_e pin_diag); /** * Usually high-level code would invoke efiSetPadMode, not this method directly */ -EXTERNC bool brain_pin_markUsed(brain_pin_e brainPin, const char *msg); +bool brain_pin_markUsed(brain_pin_e brainPin, const char *msg); /** * See also efiSetPadUnused */ -EXTERNC void brain_pin_markUnused(brain_pin_e brainPin); +void brain_pin_markUnused(brain_pin_e brainPin); const char * getPinFunction(brain_input_pin_e brainPin); #if EFI_PROD_CODE /* For on-chip gpios only */ -EXTERNC bool gpio_pin_markUsed(ioportid_t port, ioportmask_t pin, const char *msg); -EXTERNC void gpio_pin_markUnused(ioportid_t port, ioportmask_t pin); +bool gpio_pin_markUsed(ioportid_t port, ioportmask_t pin, const char *msg); +void gpio_pin_markUnused(ioportid_t port, ioportmask_t pin); #endif /* EFI_PROD_CODE*/ /* defined in ports/ */ @@ -61,7 +54,4 @@ const char *hwPortname(brain_pin_e brainPin); // the main usage for human-readable board-specific pin reference is convenience of error messages in case of pin conflict. const char * getBoardSpecificPinName(brain_pin_e brainPin); -#ifdef __cplusplus const char* & getBrainUsedPin(unsigned int idx); -#endif - diff --git a/firmware/hw_layer/ports/stm32/stm32_adc_v2.cpp b/firmware/hw_layer/ports/stm32/stm32_adc_v2.cpp index ab10991fcc..6e7e43f46c 100644 --- a/firmware/hw_layer/ports/stm32/stm32_adc_v2.cpp +++ b/firmware/hw_layer/ports/stm32/stm32_adc_v2.cpp @@ -218,7 +218,7 @@ adcsample_t getFastAdc(FastAdcToken token) { return 0; } - return fastAdc.samples[token]; + return fastAdc.m_samples[token]; } #endif diff --git a/firmware/hw_layer/ports/stm32/stm32f4/openblt/STM32F4xx.ld b/firmware/hw_layer/ports/stm32/stm32f4/openblt/STM32F4xx.ld deleted file mode 100644 index 6f0629f537..0000000000 --- a/firmware/hw_layer/ports/stm32/stm32f4/openblt/STM32F4xx.ld +++ /dev/null @@ -1,155 +0,0 @@ -/* Entry Point */ -ENTRY(Reset_Handler) - -/* This linker file is for OpenBLT bootloader. It compatible with any STM32F4xx - * that used in RusEFI project. So no CCM memory is defined. Also Flash is - * limited by 32K and last 16bytes of RAM are reserved for shared region - * between FW and bootloader */ - -_OpenBLT_Shared_Params_Size = 16; - -/* Highest address of the user mode stack */ -_estack = 0x20020000 - _OpenBLT_Shared_Params_Size; /* end of RAM */ -/* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0x200; /* required amount of heap */ -_Min_Stack_Size = 0x400; /* required amount of stack */ - -/* Specify the memory areas */ -MEMORY -{ - SHARED (xrw) : ORIGIN = 0x20000000, LENGTH = _OpenBLT_Shared_Params_Size - RAM (xrw) : ORIGIN = 0x20000000 + _OpenBLT_Shared_Params_Size, LENGTH = 128K - _OpenBLT_Shared_Params_Size - FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 32K -} - -/* Define output sections */ -SECTIONS -{ - .shared (NOLOAD) : - { - . = ALIGN(4); - _sshared = .; - __shared_start__ = _sshared; - *(.shared) - *(.shared.*) - KEEP(*(.shared)) - . = ALIGN(4); - _eshared = .; - __shared_end__ = _eshared; - } >SHARED - /* The startup code goes first into FLASH */ - .isr_vector : - { - . = ALIGN(4); - KEEP(*(.isr_vector)) /* Startup code */ - . = ALIGN(4); - } >FLASH - - /* The program code and other data goes into FLASH */ - .text : - { - . = ALIGN(4); - *(.text) /* .text sections (code) */ - *(.text*) /* .text* sections (code) */ - *(.glue_7) /* glue arm to thumb code */ - *(.glue_7t) /* glue thumb to arm code */ - *(.eh_frame) - - KEEP (*(.init)) - KEEP (*(.fini)) - - . = ALIGN(4); - _etext = .; /* define a global symbols at end of code */ - } >FLASH - - /* Constant data goes into FLASH */ - .rodata : - { - . = ALIGN(4); - *(.rodata) /* .rodata sections (constants, strings, etc.) */ - *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ - . = ALIGN(4); - } >FLASH - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH - .ARM : { - __exidx_start = .; - *(.ARM.exidx*) - __exidx_end = .; - } >FLASH - - .preinit_array : - { - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP (*(.preinit_array*)) - PROVIDE_HIDDEN (__preinit_array_end = .); - } >FLASH - .init_array : - { - PROVIDE_HIDDEN (__init_array_start = .); - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array*)) - PROVIDE_HIDDEN (__init_array_end = .); - } >FLASH - .fini_array : - { - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP (*(SORT(.fini_array.*))) - KEEP (*(.fini_array*)) - PROVIDE_HIDDEN (__fini_array_end = .); - } >FLASH - - /* used by the startup to initialize data */ - _sidata = LOADADDR(.data); - - /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : - { - . = ALIGN(4); - _sdata = .; /* create a global symbol at data start */ - *(.data) /* .data sections */ - *(.data*) /* .data* sections */ - - . = ALIGN(4); - _edata = .; /* define a global symbol at data end */ - } >RAM AT> FLASH - - /* Uninitialized data section */ - . = ALIGN(4); - .bss : - { - /* This is used by the startup in order to initialize the .bss secion */ - _sbss = .; /* define a global symbol at bss start */ - __bss_start__ = _sbss; - *(.bss) - *(.bss*) - *(COMMON) - - . = ALIGN(4); - _ebss = .; /* define a global symbol at bss end */ - __bss_end__ = _ebss; - } >RAM - - /* User_heap_stack section, used to check that there is enough RAM left */ - ._user_heap_stack : - { - . = ALIGN(8); - PROVIDE ( end = . ); - PROVIDE ( _end = . ); - . = . + _Min_Heap_Size; - . = . + _Min_Stack_Size; - . = ALIGN(8); - } >RAM - - /* Remove information from the standard libraries */ - /DISCARD/ : - { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } - - .ARM.attributes 0 : { *(.ARM.attributes) } -} - - diff --git a/firmware/hw_layer/ports/stm32/stm32f4/openblt/lib/startup_stm32f429xx.s b/firmware/hw_layer/ports/stm32/stm32f4/openblt/lib/startup_stm32f429xx.s deleted file mode 100644 index cdf38a983a..0000000000 --- a/firmware/hw_layer/ports/stm32/stm32f4/openblt/lib/startup_stm32f429xx.s +++ /dev/null @@ -1,559 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f429xx.s - * @author MCD Application Team - * @brief STM32F429xx Devices vector table for GCC based toolchains. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M4 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - *

© Copyright (c) 2017 STMicroelectronics. - * All rights reserved.

- * - * This software component is licensed by ST under BSD 3-Clause license, - * the "License"; You may not use this file except in compliance with the - * License. You may obtain a copy of the License at: - * opensource.org/licenses/BSD-3-Clause - * - ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m4 - .fpu softvfp - .thumb - -.global g_pfnVectors -.global Default_Handler - -/* start address for the initialization values of the .data section. -defined in linker script */ -.word _sidata -/* start address for the .data section. defined in linker script */ -.word _sdata -/* end address for the .data section. defined in linker script */ -.word _edata -/* start address for the .bss section. defined in linker script */ -.word _sbss -/* end address for the .bss section. defined in linker script */ -.word _ebss -/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ - -/** - * @brief This is the code that gets called when the processor first - * starts execution following a reset event. Only the absolutely - * necessary set is performed, after which the application - * supplied main() routine is called. - * @param None - * @retval : None -*/ - - .section .text.Reset_Handler - .weak Reset_Handler - .type Reset_Handler, %function -Reset_Handler: - // Clive Two.Zero is the God of ST community forum - // Device specific, if in doubt RTFM - LDR R0, =0x2001FFF0 // End of SRAM for your CPU - LDR R1, =0xDEADBEEF // magic value - LDR R2, [R0, #0] - STR R0, [R0, #0] // Invalidate - CMP R2, R1 - BEQ UseDFU - // DFU bootloader not needed, continue with OpenBLT - - ldr sp, =_estack /* set stack pointer */ - -/* Copy the data segment initializers from flash to SRAM */ - movs r1, #0 - b LoopCopyDataInit - -CopyDataInit: - ldr r3, =_sidata - ldr r3, [r3, r1] - str r3, [r0, r1] - adds r1, r1, #4 - -LoopCopyDataInit: - ldr r0, =_sdata - ldr r3, =_edata - adds r2, r0, r1 - cmp r2, r3 - bcc CopyDataInit - ldr r2, =_sbss - b LoopFillZerobss -/* Zero fill the bss segment. */ -FillZerobss: - movs r3, #0 - str r3, [r2], #4 - -LoopFillZerobss: - ldr r3, = _ebss - cmp r2, r3 - bcc FillZerobss - -/* Call the clock system intitialization function.*/ - bl SystemInit -/* Call static constructors */ - bl __libc_init_array -/* Call the application's entry point.*/ - bl main - bx lr -.size Reset_Handler, .-Reset_Handler - -UseDFU: - // AN2606 Application note - // STM32 microcontroller system memory boot mode -.include "../../dfu_init.h" - BX R0 // this jumps to DFU bootloader - -/** - * @brief This is the code that gets called when the processor receives an - * unexpected interrupt. This simply enters an infinite loop, preserving - * the system state for examination by a debugger. - * @param None - * @retval None -*/ - .section .text.Default_Handler,"ax",%progbits -Default_Handler: -Infinite_Loop: - b Infinite_Loop - .size Default_Handler, .-Default_Handler -/****************************************************************************** -* -* The minimal vector table for a Cortex M3. Note that the proper constructs -* must be placed on this to ensure that it ends up at physical address -* 0x0000.0000. -* -*******************************************************************************/ - .section .isr_vector,"a",%progbits - .type g_pfnVectors, %object - .size g_pfnVectors, .-g_pfnVectors - -g_pfnVectors: - .word _estack - .word Reset_Handler - - .word NMI_Handler - .word HardFault_Handler - .word MemManage_Handler - .word BusFault_Handler - .word UsageFault_Handler - .word 0 - .word 0 - .word 0 - .word 0 - .word SVC_Handler - .word DebugMon_Handler - .word 0 - .word PendSV_Handler - .word SysTick_Handler - - /* External Interrupts */ - .word WWDG_IRQHandler /* Window WatchDog */ - .word PVD_IRQHandler /* PVD through EXTI Line detection */ - .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ - .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ - .word FLASH_IRQHandler /* FLASH */ - .word RCC_IRQHandler /* RCC */ - .word EXTI0_IRQHandler /* EXTI Line0 */ - .word EXTI1_IRQHandler /* EXTI Line1 */ - .word EXTI2_IRQHandler /* EXTI Line2 */ - .word EXTI3_IRQHandler /* EXTI Line3 */ - .word EXTI4_IRQHandler /* EXTI Line4 */ - .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ - .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ - .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ - .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ - .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ - .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ - .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ - .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ - .word CAN1_TX_IRQHandler /* CAN1 TX */ - .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ - .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ - .word CAN1_SCE_IRQHandler /* CAN1 SCE */ - .word EXTI9_5_IRQHandler /* External Line[9:5]s */ - .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ - .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ - .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ - .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ - .word TIM2_IRQHandler /* TIM2 */ - .word TIM3_IRQHandler /* TIM3 */ - .word TIM4_IRQHandler /* TIM4 */ - .word I2C1_EV_IRQHandler /* I2C1 Event */ - .word I2C1_ER_IRQHandler /* I2C1 Error */ - .word I2C2_EV_IRQHandler /* I2C2 Event */ - .word I2C2_ER_IRQHandler /* I2C2 Error */ - .word SPI1_IRQHandler /* SPI1 */ - .word SPI2_IRQHandler /* SPI2 */ - .word USART1_IRQHandler /* USART1 */ - .word USART2_IRQHandler /* USART2 */ - .word USART3_IRQHandler /* USART3 */ - .word EXTI15_10_IRQHandler /* External Line[15:10]s */ - .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ - .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ - .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ - .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ - .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ - .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ - .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ - .word FMC_IRQHandler /* FMC */ - .word SDIO_IRQHandler /* SDIO */ - .word TIM5_IRQHandler /* TIM5 */ - .word SPI3_IRQHandler /* SPI3 */ - .word UART4_IRQHandler /* UART4 */ - .word UART5_IRQHandler /* UART5 */ - .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ - .word TIM7_IRQHandler /* TIM7 */ - .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ - .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ - .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ - .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ - .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ - .word ETH_IRQHandler /* Ethernet */ - .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ - .word CAN2_TX_IRQHandler /* CAN2 TX */ - .word CAN2_RX0_IRQHandler /* CAN2 RX0 */ - .word CAN2_RX1_IRQHandler /* CAN2 RX1 */ - .word CAN2_SCE_IRQHandler /* CAN2 SCE */ - .word OTG_FS_IRQHandler /* USB OTG FS */ - .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ - .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ - .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ - .word USART6_IRQHandler /* USART6 */ - .word I2C3_EV_IRQHandler /* I2C3 event */ - .word I2C3_ER_IRQHandler /* I2C3 error */ - .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ - .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ - .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ - .word OTG_HS_IRQHandler /* USB OTG HS */ - .word DCMI_IRQHandler /* DCMI */ - .word 0 /* Reserved */ - .word HASH_RNG_IRQHandler /* Hash and Rng */ - .word FPU_IRQHandler /* FPU */ - .word UART7_IRQHandler /* UART7 */ - .word UART8_IRQHandler /* UART8 */ - .word SPI4_IRQHandler /* SPI4 */ - .word SPI5_IRQHandler /* SPI5 */ - .word SPI6_IRQHandler /* SPI6 */ - .word SAI1_IRQHandler /* SAI1 */ - .word LTDC_IRQHandler /* LTDC_IRQHandler */ - .word LTDC_ER_IRQHandler /* LTDC_ER_IRQHandler */ - .word DMA2D_IRQHandler /* DMA2D */ - -/******************************************************************************* -* -* Provide weak aliases for each Exception handler to the Default_Handler. -* As they are weak aliases, any function with the same name will override -* this definition. -* -*******************************************************************************/ - .weak NMI_Handler - .thumb_set NMI_Handler,Default_Handler - - .weak HardFault_Handler - .thumb_set HardFault_Handler,Default_Handler - - .weak MemManage_Handler - .thumb_set MemManage_Handler,Default_Handler - - .weak BusFault_Handler - .thumb_set BusFault_Handler,Default_Handler - - .weak UsageFault_Handler - .thumb_set UsageFault_Handler,Default_Handler - - .weak SVC_Handler - .thumb_set SVC_Handler,Default_Handler - - .weak DebugMon_Handler - .thumb_set DebugMon_Handler,Default_Handler - - .weak PendSV_Handler - .thumb_set PendSV_Handler,Default_Handler - - .weak SysTick_Handler - .thumb_set SysTick_Handler,Default_Handler - - .weak WWDG_IRQHandler - .thumb_set WWDG_IRQHandler,Default_Handler - - .weak PVD_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMP_STAMP_IRQHandler - .thumb_set TAMP_STAMP_IRQHandler,Default_Handler - - .weak RTC_WKUP_IRQHandler - .thumb_set RTC_WKUP_IRQHandler,Default_Handler - - .weak FLASH_IRQHandler - .thumb_set FLASH_IRQHandler,Default_Handler - - .weak RCC_IRQHandler - .thumb_set RCC_IRQHandler,Default_Handler - - .weak EXTI0_IRQHandler - .thumb_set EXTI0_IRQHandler,Default_Handler - - .weak EXTI1_IRQHandler - .thumb_set EXTI1_IRQHandler,Default_Handler - - .weak EXTI2_IRQHandler - .thumb_set EXTI2_IRQHandler,Default_Handler - - .weak EXTI3_IRQHandler - .thumb_set EXTI3_IRQHandler,Default_Handler - - .weak EXTI4_IRQHandler - .thumb_set EXTI4_IRQHandler,Default_Handler - - .weak DMA1_Stream0_IRQHandler - .thumb_set DMA1_Stream0_IRQHandler,Default_Handler - - .weak DMA1_Stream1_IRQHandler - .thumb_set DMA1_Stream1_IRQHandler,Default_Handler - - .weak DMA1_Stream2_IRQHandler - .thumb_set DMA1_Stream2_IRQHandler,Default_Handler - - .weak DMA1_Stream3_IRQHandler - .thumb_set DMA1_Stream3_IRQHandler,Default_Handler - - .weak DMA1_Stream4_IRQHandler - .thumb_set DMA1_Stream4_IRQHandler,Default_Handler - - .weak DMA1_Stream5_IRQHandler - .thumb_set DMA1_Stream5_IRQHandler,Default_Handler - - .weak DMA1_Stream6_IRQHandler - .thumb_set DMA1_Stream6_IRQHandler,Default_Handler - - .weak ADC_IRQHandler - .thumb_set ADC_IRQHandler,Default_Handler - - .weak CAN1_TX_IRQHandler - .thumb_set CAN1_TX_IRQHandler,Default_Handler - - .weak CAN1_RX0_IRQHandler - .thumb_set CAN1_RX0_IRQHandler,Default_Handler - - .weak CAN1_RX1_IRQHandler - .thumb_set CAN1_RX1_IRQHandler,Default_Handler - - .weak CAN1_SCE_IRQHandler - .thumb_set CAN1_SCE_IRQHandler,Default_Handler - - .weak EXTI9_5_IRQHandler - .thumb_set EXTI9_5_IRQHandler,Default_Handler - - .weak TIM1_BRK_TIM9_IRQHandler - .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler - - .weak TIM1_UP_TIM10_IRQHandler - .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler - - .weak TIM1_TRG_COM_TIM11_IRQHandler - .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler - - .weak TIM1_CC_IRQHandler - .thumb_set TIM1_CC_IRQHandler,Default_Handler - - .weak TIM2_IRQHandler - .thumb_set TIM2_IRQHandler,Default_Handler - - .weak TIM3_IRQHandler - .thumb_set TIM3_IRQHandler,Default_Handler - - .weak TIM4_IRQHandler - .thumb_set TIM4_IRQHandler,Default_Handler - - .weak I2C1_EV_IRQHandler - .thumb_set I2C1_EV_IRQHandler,Default_Handler - - .weak I2C1_ER_IRQHandler - .thumb_set I2C1_ER_IRQHandler,Default_Handler - - .weak I2C2_EV_IRQHandler - .thumb_set I2C2_EV_IRQHandler,Default_Handler - - .weak I2C2_ER_IRQHandler - .thumb_set I2C2_ER_IRQHandler,Default_Handler - - .weak SPI1_IRQHandler - .thumb_set SPI1_IRQHandler,Default_Handler - - .weak SPI2_IRQHandler - .thumb_set SPI2_IRQHandler,Default_Handler - - .weak USART1_IRQHandler - .thumb_set USART1_IRQHandler,Default_Handler - - .weak USART2_IRQHandler - .thumb_set USART2_IRQHandler,Default_Handler - - .weak USART3_IRQHandler - .thumb_set USART3_IRQHandler,Default_Handler - - .weak EXTI15_10_IRQHandler - .thumb_set EXTI15_10_IRQHandler,Default_Handler - - .weak RTC_Alarm_IRQHandler - .thumb_set RTC_Alarm_IRQHandler,Default_Handler - - .weak OTG_FS_WKUP_IRQHandler - .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler - - .weak TIM8_BRK_TIM12_IRQHandler - .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler - - .weak TIM8_UP_TIM13_IRQHandler - .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler - - .weak TIM8_TRG_COM_TIM14_IRQHandler - .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler - - .weak TIM8_CC_IRQHandler - .thumb_set TIM8_CC_IRQHandler,Default_Handler - - .weak DMA1_Stream7_IRQHandler - .thumb_set DMA1_Stream7_IRQHandler,Default_Handler - - .weak FMC_IRQHandler - .thumb_set FMC_IRQHandler,Default_Handler - - .weak SDIO_IRQHandler - .thumb_set SDIO_IRQHandler,Default_Handler - - .weak TIM5_IRQHandler - .thumb_set TIM5_IRQHandler,Default_Handler - - .weak SPI3_IRQHandler - .thumb_set SPI3_IRQHandler,Default_Handler - - .weak UART4_IRQHandler - .thumb_set UART4_IRQHandler,Default_Handler - - .weak UART5_IRQHandler - .thumb_set UART5_IRQHandler,Default_Handler - - .weak TIM6_DAC_IRQHandler - .thumb_set TIM6_DAC_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - - .weak DMA2_Stream0_IRQHandler - .thumb_set DMA2_Stream0_IRQHandler,Default_Handler - - .weak DMA2_Stream1_IRQHandler - .thumb_set DMA2_Stream1_IRQHandler,Default_Handler - - .weak DMA2_Stream2_IRQHandler - .thumb_set DMA2_Stream2_IRQHandler,Default_Handler - - .weak DMA2_Stream3_IRQHandler - .thumb_set DMA2_Stream3_IRQHandler,Default_Handler - - .weak DMA2_Stream4_IRQHandler - .thumb_set DMA2_Stream4_IRQHandler,Default_Handler - - .weak ETH_IRQHandler - .thumb_set ETH_IRQHandler,Default_Handler - - .weak ETH_WKUP_IRQHandler - .thumb_set ETH_WKUP_IRQHandler,Default_Handler - - .weak CAN2_TX_IRQHandler - .thumb_set CAN2_TX_IRQHandler,Default_Handler - - .weak CAN2_RX0_IRQHandler - .thumb_set CAN2_RX0_IRQHandler,Default_Handler - - .weak CAN2_RX1_IRQHandler - .thumb_set CAN2_RX1_IRQHandler,Default_Handler - - .weak CAN2_SCE_IRQHandler - .thumb_set CAN2_SCE_IRQHandler,Default_Handler - - .weak OTG_FS_IRQHandler - .thumb_set OTG_FS_IRQHandler,Default_Handler - - .weak DMA2_Stream5_IRQHandler - .thumb_set DMA2_Stream5_IRQHandler,Default_Handler - - .weak DMA2_Stream6_IRQHandler - .thumb_set DMA2_Stream6_IRQHandler,Default_Handler - - .weak DMA2_Stream7_IRQHandler - .thumb_set DMA2_Stream7_IRQHandler,Default_Handler - - .weak USART6_IRQHandler - .thumb_set USART6_IRQHandler,Default_Handler - - .weak I2C3_EV_IRQHandler - .thumb_set I2C3_EV_IRQHandler,Default_Handler - - .weak I2C3_ER_IRQHandler - .thumb_set I2C3_ER_IRQHandler,Default_Handler - - .weak OTG_HS_EP1_OUT_IRQHandler - .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler - - .weak OTG_HS_EP1_IN_IRQHandler - .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler - - .weak OTG_HS_WKUP_IRQHandler - .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler - - .weak OTG_HS_IRQHandler - .thumb_set OTG_HS_IRQHandler,Default_Handler - - .weak DCMI_IRQHandler - .thumb_set DCMI_IRQHandler,Default_Handler - - .weak HASH_RNG_IRQHandler - .thumb_set HASH_RNG_IRQHandler,Default_Handler - - .weak FPU_IRQHandler - .thumb_set FPU_IRQHandler,Default_Handler - - .weak UART7_IRQHandler - .thumb_set UART7_IRQHandler,Default_Handler - - .weak UART8_IRQHandler - .thumb_set UART8_IRQHandler,Default_Handler - - .weak SPI4_IRQHandler - .thumb_set SPI4_IRQHandler,Default_Handler - - .weak SPI5_IRQHandler - .thumb_set SPI5_IRQHandler,Default_Handler - - .weak SPI6_IRQHandler - .thumb_set SPI6_IRQHandler,Default_Handler - - .weak SAI1_IRQHandler - .thumb_set SAI1_IRQHandler,Default_Handler - - .weak LTDC_IRQHandler - .thumb_set LTDC_IRQHandler,Default_Handler - - .weak LTDC_ER_IRQHandler - .thumb_set LTDC_ER_IRQHandler,Default_Handler - - .weak DMA2D_IRQHandler - .thumb_set DMA2D_IRQHandler,Default_Handler - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ - - - diff --git a/firmware/hw_layer/ports/stm32/stm32f4/openblt/lib/stm32f4xx_hal_conf.h b/firmware/hw_layer/ports/stm32/stm32f4/openblt/lib/stm32f4xx_hal_conf.h deleted file mode 100644 index fa2f03aa0e..0000000000 --- a/firmware/hw_layer/ports/stm32/stm32f4/openblt/lib/stm32f4xx_hal_conf.h +++ /dev/null @@ -1,492 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f4xx_hal_conf_template.h - * @author MCD Application Team - * @brief HAL configuration template file. - * This file should be copied to the application folder and renamed - * to stm32f4xx_hal_conf.h. - ****************************************************************************** - * @attention - * - *

© Copyright (c) 2017 STMicroelectronics. - * All rights reserved.

- * - * This software component is licensed by ST under BSD 3-Clause license, - * the "License"; You may not use this file except in compliance with the - * License. You may obtain a copy of the License at: - * opensource.org/licenses/BSD-3-Clause - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F4xx_HAL_CONF_H -#define __STM32F4xx_HAL_CONF_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* ########################## Module Selection ############################## */ -/** - * @brief This is the list of modules to be used in the HAL driver - */ -#define HAL_MODULE_ENABLED - - /* #define HAL_ADC_MODULE_ENABLED */ -/* #define HAL_CRYP_MODULE_ENABLED */ -#define HAL_CAN_MODULE_ENABLED -/* #define HAL_CRC_MODULE_ENABLED */ -/* #define HAL_CAN_LEGACY_MODULE_ENABLED */ -/* #define HAL_CRYP_MODULE_ENABLED */ -/* #define HAL_DAC_MODULE_ENABLED */ -/* #define HAL_DCMI_MODULE_ENABLED */ -/* #define HAL_DMA2D_MODULE_ENABLED */ -/* #define HAL_ETH_MODULE_ENABLED */ -/* #define HAL_NAND_MODULE_ENABLED */ -/* #define HAL_NOR_MODULE_ENABLED */ -/* #define HAL_PCCARD_MODULE_ENABLED */ -/* #define HAL_SRAM_MODULE_ENABLED */ -/* #define HAL_SDRAM_MODULE_ENABLED */ -/* #define HAL_HASH_MODULE_ENABLED */ -/* #define HAL_I2C_MODULE_ENABLED */ -/* #define HAL_I2S_MODULE_ENABLED */ -/* #define HAL_IWDG_MODULE_ENABLED */ -/* #define HAL_LTDC_MODULE_ENABLED */ -/* #define HAL_RNG_MODULE_ENABLED */ -/* #define HAL_RTC_MODULE_ENABLED */ -/* #define HAL_SAI_MODULE_ENABLED */ -/* #define HAL_SD_MODULE_ENABLED */ -/* #define HAL_MMC_MODULE_ENABLED */ -/* #define HAL_SPI_MODULE_ENABLED */ -/* #define HAL_TIM_MODULE_ENABLED */ -/* #define HAL_UART_MODULE_ENABLED */ -/* #define HAL_USART_MODULE_ENABLED */ -/* #define HAL_IRDA_MODULE_ENABLED */ -/* #define HAL_SMARTCARD_MODULE_ENABLED */ -/* #define HAL_SMBUS_MODULE_ENABLED */ -/* #define HAL_WWDG_MODULE_ENABLED */ -#define HAL_PCD_MODULE_ENABLED -/* #define HAL_HCD_MODULE_ENABLED */ -/* #define HAL_DSI_MODULE_ENABLED */ -/* #define HAL_QSPI_MODULE_ENABLED */ -/* #define HAL_QSPI_MODULE_ENABLED */ -/* #define HAL_CEC_MODULE_ENABLED */ -/* #define HAL_FMPI2C_MODULE_ENABLED */ -/* #define HAL_SPDIFRX_MODULE_ENABLED */ -/* #define HAL_DFSDM_MODULE_ENABLED */ -/* #define HAL_LPTIM_MODULE_ENABLED */ -#define HAL_GPIO_MODULE_ENABLED -#define HAL_EXTI_MODULE_ENABLED -#define HAL_DMA_MODULE_ENABLED -#define HAL_RCC_MODULE_ENABLED -#define HAL_FLASH_MODULE_ENABLED -#define HAL_PWR_MODULE_ENABLED -#define HAL_CORTEX_MODULE_ENABLED - -/* ########################## HSE/HSI Values adaptation ##################### */ -/** - * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. - * This value is used by the RCC HAL module to compute the system frequency - * (when HSE is used as system clock source, directly or through the PLL). - */ -/* No default! Should be explictly defined in openblt/board.mk */ -#if 0 -#if !defined (HSE_VALUE) - #define HSE_VALUE ((uint32_t)8000000U) /*!< Value of the External oscillator in Hz */ -#endif /* HSE_VALUE */ -#endif - -#if !defined (HSE_STARTUP_TIMEOUT) - #define HSE_STARTUP_TIMEOUT ((uint32_t)100U) /*!< Time out for HSE start up, in ms */ -#endif /* HSE_STARTUP_TIMEOUT */ - -/** - * @brief Internal High Speed oscillator (HSI) value. - * This value is used by the RCC HAL module to compute the system frequency - * (when HSI is used as system clock source, directly or through the PLL). - */ -#if !defined (HSI_VALUE) - #define HSI_VALUE ((uint32_t)16000000U) /*!< Value of the Internal oscillator in Hz*/ -#endif /* HSI_VALUE */ - -/** - * @brief Internal Low Speed oscillator (LSI) value. - */ -#if !defined (LSI_VALUE) - #define LSI_VALUE ((uint32_t)32000U) /*!< LSI Typical Value in Hz*/ -#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz - The real value may vary depending on the variations - in voltage and temperature.*/ -/** - * @brief External Low Speed oscillator (LSE) value. - */ -#if !defined (LSE_VALUE) - #define LSE_VALUE ((uint32_t)32768U) /*!< Value of the External Low Speed oscillator in Hz */ -#endif /* LSE_VALUE */ - -#if !defined (LSE_STARTUP_TIMEOUT) - #define LSE_STARTUP_TIMEOUT ((uint32_t)5000U) /*!< Time out for LSE start up, in ms */ -#endif /* LSE_STARTUP_TIMEOUT */ - -/** - * @brief External clock source for I2S peripheral - * This value is used by the I2S HAL module to compute the I2S clock source - * frequency, this source is inserted directly through I2S_CKIN pad. - */ -#if !defined (EXTERNAL_CLOCK_VALUE) - #define EXTERNAL_CLOCK_VALUE ((uint32_t)12288000U) /*!< Value of the External audio frequency in Hz*/ -#endif /* EXTERNAL_CLOCK_VALUE */ - -/* Tip: To avoid modifying this file each time you need to use different HSE, - === you can define the HSE value in your toolchain compiler preprocessor. */ - -/* ########################### System Configuration ######################### */ -/** - * @brief This is the HAL system configuration section - */ -#define VDD_VALUE ((uint32_t)3300U) /*!< Value of VDD in mv */ -#define TICK_INT_PRIORITY ((uint32_t)0U) /*!< tick interrupt priority */ -#define USE_RTOS 0U -#define PREFETCH_ENABLE 1U -#define INSTRUCTION_CACHE_ENABLE 1U -#define DATA_CACHE_ENABLE 1U - -#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */ -#define USE_HAL_CAN_REGISTER_CALLBACKS 0U /* CAN register callback disabled */ -#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */ -#define USE_HAL_CRYP_REGISTER_CALLBACKS 0U /* CRYP register callback disabled */ -#define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */ -#define USE_HAL_DCMI_REGISTER_CALLBACKS 0U /* DCMI register callback disabled */ -#define USE_HAL_DFSDM_REGISTER_CALLBACKS 0U /* DFSDM register callback disabled */ -#define USE_HAL_DMA2D_REGISTER_CALLBACKS 0U /* DMA2D register callback disabled */ -#define USE_HAL_DSI_REGISTER_CALLBACKS 0U /* DSI register callback disabled */ -#define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */ -#define USE_HAL_HASH_REGISTER_CALLBACKS 0U /* HASH register callback disabled */ -#define USE_HAL_HCD_REGISTER_CALLBACKS 0U /* HCD register callback disabled */ -#define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */ -#define USE_HAL_FMPI2C_REGISTER_CALLBACKS 0U /* FMPI2C register callback disabled */ -#define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */ -#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */ -#define USE_HAL_LPTIM_REGISTER_CALLBACKS 0U /* LPTIM register callback disabled */ -#define USE_HAL_LTDC_REGISTER_CALLBACKS 0U /* LTDC register callback disabled */ -#define USE_HAL_MMC_REGISTER_CALLBACKS 0U /* MMC register callback disabled */ -#define USE_HAL_NAND_REGISTER_CALLBACKS 0U /* NAND register callback disabled */ -#define USE_HAL_NOR_REGISTER_CALLBACKS 0U /* NOR register callback disabled */ -#define USE_HAL_PCCARD_REGISTER_CALLBACKS 0U /* PCCARD register callback disabled */ -#define USE_HAL_PCD_REGISTER_CALLBACKS 0U /* PCD register callback disabled */ -#define USE_HAL_QSPI_REGISTER_CALLBACKS 0U /* QSPI register callback disabled */ -#define USE_HAL_RNG_REGISTER_CALLBACKS 0U /* RNG register callback disabled */ -#define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */ -#define USE_HAL_SAI_REGISTER_CALLBACKS 0U /* SAI register callback disabled */ -#define USE_HAL_SD_REGISTER_CALLBACKS 0U /* SD register callback disabled */ -#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */ -#define USE_HAL_SDRAM_REGISTER_CALLBACKS 0U /* SDRAM register callback disabled */ -#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */ -#define USE_HAL_SPDIFRX_REGISTER_CALLBACKS 0U /* SPDIFRX register callback disabled */ -#define USE_HAL_SMBUS_REGISTER_CALLBACKS 0U /* SMBUS register callback disabled */ -#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */ -#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */ -#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */ -#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */ -#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */ - -/* ########################## Assert Selection ############################## */ -/** - * @brief Uncomment the line below to expanse the "assert_param" macro in the - * HAL drivers code - */ -/* #define USE_FULL_ASSERT 1U */ - -/* ################## Ethernet peripheral configuration ##################### */ - -/* Section 1 : Ethernet peripheral configuration */ - -/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */ -#define MAC_ADDR0 2U -#define MAC_ADDR1 0U -#define MAC_ADDR2 0U -#define MAC_ADDR3 0U -#define MAC_ADDR4 0U -#define MAC_ADDR5 0U - -/* Definition of the Ethernet driver buffers size and count */ -#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */ -#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */ -#define ETH_RXBUFNB ((uint32_t)4U) /* 4 Rx buffers of size ETH_RX_BUF_SIZE */ -#define ETH_TXBUFNB ((uint32_t)4U) /* 4 Tx buffers of size ETH_TX_BUF_SIZE */ - -/* Section 2: PHY configuration section */ - -/* LAN8742A_PHY_ADDRESS Address*/ -#define LAN8742A_PHY_ADDRESS 0U -/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/ -#define PHY_RESET_DELAY ((uint32_t)0x000000FFU) -/* PHY Configuration delay */ -#define PHY_CONFIG_DELAY ((uint32_t)0x00000FFFU) - -#define PHY_READ_TO ((uint32_t)0x0000FFFFU) -#define PHY_WRITE_TO ((uint32_t)0x0000FFFFU) - -/* Section 3: Common PHY Registers */ - -#define PHY_BCR ((uint16_t)0x00U) /*!< Transceiver Basic Control Register */ -#define PHY_BSR ((uint16_t)0x01U) /*!< Transceiver Basic Status Register */ - -#define PHY_RESET ((uint16_t)0x8000U) /*!< PHY Reset */ -#define PHY_LOOPBACK ((uint16_t)0x4000U) /*!< Select loop-back mode */ -#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100U) /*!< Set the full-duplex mode at 100 Mb/s */ -#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000U) /*!< Set the half-duplex mode at 100 Mb/s */ -#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100U) /*!< Set the full-duplex mode at 10 Mb/s */ -#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000U) /*!< Set the half-duplex mode at 10 Mb/s */ -#define PHY_AUTONEGOTIATION ((uint16_t)0x1000U) /*!< Enable auto-negotiation function */ -#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200U) /*!< Restart auto-negotiation function */ -#define PHY_POWERDOWN ((uint16_t)0x0800U) /*!< Select the power down mode */ -#define PHY_ISOLATE ((uint16_t)0x0400U) /*!< Isolate PHY from MII */ - -#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020U) /*!< Auto-Negotiation process completed */ -#define PHY_LINKED_STATUS ((uint16_t)0x0004U) /*!< Valid link established */ -#define PHY_JABBER_DETECTION ((uint16_t)0x0002U) /*!< Jabber condition detected */ - -/* Section 4: Extended PHY Registers */ -#define PHY_SR ((uint16_t)0x1FU) /*!< PHY status register Offset */ - -#define PHY_SPEED_STATUS ((uint16_t)0x0004U) /*!< PHY Speed mask */ -#define PHY_DUPLEX_STATUS ((uint16_t)0x0010U) /*!< PHY Duplex mask */ - -#define PHY_ISFR ((uint16_t)0x001DU) /*!< PHY Interrupt Source Flag register Offset */ -#define PHY_ISFR_INT4 ((uint16_t)0x000BU) /*!< PHY Link down inturrupt */ - -/* ################## SPI peripheral configuration ########################## */ - -/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver -* Activated: CRC code is present inside driver -* Deactivated: CRC code cleaned from driver -*/ - -#define USE_SPI_CRC 0U - -/* Includes ------------------------------------------------------------------*/ -/** - * @brief Include module's header file - */ - -#ifdef HAL_RCC_MODULE_ENABLED - #include "stm32f4xx_hal_rcc.h" -#endif /* HAL_RCC_MODULE_ENABLED */ - -#ifdef HAL_GPIO_MODULE_ENABLED - #include "stm32f4xx_hal_gpio.h" -#endif /* HAL_GPIO_MODULE_ENABLED */ - -#ifdef HAL_EXTI_MODULE_ENABLED - #include "stm32f4xx_hal_exti.h" -#endif /* HAL_EXTI_MODULE_ENABLED */ - -#ifdef HAL_DMA_MODULE_ENABLED - #include "stm32f4xx_hal_dma.h" -#endif /* HAL_DMA_MODULE_ENABLED */ - -#ifdef HAL_CORTEX_MODULE_ENABLED - #include "stm32f4xx_hal_cortex.h" -#endif /* HAL_CORTEX_MODULE_ENABLED */ - -#ifdef HAL_ADC_MODULE_ENABLED - #include "stm32f4xx_hal_adc.h" -#endif /* HAL_ADC_MODULE_ENABLED */ - -#ifdef HAL_CAN_MODULE_ENABLED - #include "stm32f4xx_hal_can.h" -#endif /* HAL_CAN_MODULE_ENABLED */ - -#ifdef HAL_CAN_LEGACY_MODULE_ENABLED - #include "stm32f4xx_hal_can_legacy.h" -#endif /* HAL_CAN_LEGACY_MODULE_ENABLED */ - -#ifdef HAL_CRC_MODULE_ENABLED - #include "stm32f4xx_hal_crc.h" -#endif /* HAL_CRC_MODULE_ENABLED */ - -#ifdef HAL_CRYP_MODULE_ENABLED - #include "stm32f4xx_hal_cryp.h" -#endif /* HAL_CRYP_MODULE_ENABLED */ - -#ifdef HAL_DMA2D_MODULE_ENABLED - #include "stm32f4xx_hal_dma2d.h" -#endif /* HAL_DMA2D_MODULE_ENABLED */ - -#ifdef HAL_DAC_MODULE_ENABLED - #include "stm32f4xx_hal_dac.h" -#endif /* HAL_DAC_MODULE_ENABLED */ - -#ifdef HAL_DCMI_MODULE_ENABLED - #include "stm32f4xx_hal_dcmi.h" -#endif /* HAL_DCMI_MODULE_ENABLED */ - -#ifdef HAL_ETH_MODULE_ENABLED - #include "stm32f4xx_hal_eth.h" -#endif /* HAL_ETH_MODULE_ENABLED */ - -#ifdef HAL_FLASH_MODULE_ENABLED - #include "stm32f4xx_hal_flash.h" -#endif /* HAL_FLASH_MODULE_ENABLED */ - -#ifdef HAL_SRAM_MODULE_ENABLED - #include "stm32f4xx_hal_sram.h" -#endif /* HAL_SRAM_MODULE_ENABLED */ - -#ifdef HAL_NOR_MODULE_ENABLED - #include "stm32f4xx_hal_nor.h" -#endif /* HAL_NOR_MODULE_ENABLED */ - -#ifdef HAL_NAND_MODULE_ENABLED - #include "stm32f4xx_hal_nand.h" -#endif /* HAL_NAND_MODULE_ENABLED */ - -#ifdef HAL_PCCARD_MODULE_ENABLED - #include "stm32f4xx_hal_pccard.h" -#endif /* HAL_PCCARD_MODULE_ENABLED */ - -#ifdef HAL_SDRAM_MODULE_ENABLED - #include "stm32f4xx_hal_sdram.h" -#endif /* HAL_SDRAM_MODULE_ENABLED */ - -#ifdef HAL_HASH_MODULE_ENABLED - #include "stm32f4xx_hal_hash.h" -#endif /* HAL_HASH_MODULE_ENABLED */ - -#ifdef HAL_I2C_MODULE_ENABLED - #include "stm32f4xx_hal_i2c.h" -#endif /* HAL_I2C_MODULE_ENABLED */ - -#ifdef HAL_SMBUS_MODULE_ENABLED - #include "stm32f4xx_hal_smbus.h" -#endif /* HAL_SMBUS_MODULE_ENABLED */ - -#ifdef HAL_I2S_MODULE_ENABLED - #include "stm32f4xx_hal_i2s.h" -#endif /* HAL_I2S_MODULE_ENABLED */ - -#ifdef HAL_IWDG_MODULE_ENABLED - #include "stm32f4xx_hal_iwdg.h" -#endif /* HAL_IWDG_MODULE_ENABLED */ - -#ifdef HAL_LTDC_MODULE_ENABLED - #include "stm32f4xx_hal_ltdc.h" -#endif /* HAL_LTDC_MODULE_ENABLED */ - -#ifdef HAL_PWR_MODULE_ENABLED - #include "stm32f4xx_hal_pwr.h" -#endif /* HAL_PWR_MODULE_ENABLED */ - -#ifdef HAL_RNG_MODULE_ENABLED - #include "stm32f4xx_hal_rng.h" -#endif /* HAL_RNG_MODULE_ENABLED */ - -#ifdef HAL_RTC_MODULE_ENABLED - #include "stm32f4xx_hal_rtc.h" -#endif /* HAL_RTC_MODULE_ENABLED */ - -#ifdef HAL_SAI_MODULE_ENABLED - #include "stm32f4xx_hal_sai.h" -#endif /* HAL_SAI_MODULE_ENABLED */ - -#ifdef HAL_SD_MODULE_ENABLED - #include "stm32f4xx_hal_sd.h" -#endif /* HAL_SD_MODULE_ENABLED */ - -#ifdef HAL_SPI_MODULE_ENABLED - #include "stm32f4xx_hal_spi.h" -#endif /* HAL_SPI_MODULE_ENABLED */ - -#ifdef HAL_TIM_MODULE_ENABLED - #include "stm32f4xx_hal_tim.h" -#endif /* HAL_TIM_MODULE_ENABLED */ - -#ifdef HAL_UART_MODULE_ENABLED - #include "stm32f4xx_hal_uart.h" -#endif /* HAL_UART_MODULE_ENABLED */ - -#ifdef HAL_USART_MODULE_ENABLED - #include "stm32f4xx_hal_usart.h" -#endif /* HAL_USART_MODULE_ENABLED */ - -#ifdef HAL_IRDA_MODULE_ENABLED - #include "stm32f4xx_hal_irda.h" -#endif /* HAL_IRDA_MODULE_ENABLED */ - -#ifdef HAL_SMARTCARD_MODULE_ENABLED - #include "stm32f4xx_hal_smartcard.h" -#endif /* HAL_SMARTCARD_MODULE_ENABLED */ - -#ifdef HAL_WWDG_MODULE_ENABLED - #include "stm32f4xx_hal_wwdg.h" -#endif /* HAL_WWDG_MODULE_ENABLED */ - -#ifdef HAL_PCD_MODULE_ENABLED - #include "stm32f4xx_hal_pcd.h" -#endif /* HAL_PCD_MODULE_ENABLED */ - -#ifdef HAL_HCD_MODULE_ENABLED - #include "stm32f4xx_hal_hcd.h" -#endif /* HAL_HCD_MODULE_ENABLED */ - -#ifdef HAL_DSI_MODULE_ENABLED - #include "stm32f4xx_hal_dsi.h" -#endif /* HAL_DSI_MODULE_ENABLED */ - -#ifdef HAL_QSPI_MODULE_ENABLED - #include "stm32f4xx_hal_qspi.h" -#endif /* HAL_QSPI_MODULE_ENABLED */ - -#ifdef HAL_CEC_MODULE_ENABLED - #include "stm32f4xx_hal_cec.h" -#endif /* HAL_CEC_MODULE_ENABLED */ - -#ifdef HAL_FMPI2C_MODULE_ENABLED - #include "stm32f4xx_hal_fmpi2c.h" -#endif /* HAL_FMPI2C_MODULE_ENABLED */ - -#ifdef HAL_SPDIFRX_MODULE_ENABLED - #include "stm32f4xx_hal_spdifrx.h" -#endif /* HAL_SPDIFRX_MODULE_ENABLED */ - -#ifdef HAL_DFSDM_MODULE_ENABLED - #include "stm32f4xx_hal_dfsdm.h" -#endif /* HAL_DFSDM_MODULE_ENABLED */ - -#ifdef HAL_LPTIM_MODULE_ENABLED - #include "stm32f4xx_hal_lptim.h" -#endif /* HAL_LPTIM_MODULE_ENABLED */ - -#ifdef HAL_MMC_MODULE_ENABLED - #include "stm32f4xx_hal_mmc.h" -#endif /* HAL_MMC_MODULE_ENABLED */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0U) -#endif /* USE_FULL_ASSERT */ - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F4xx_HAL_CONF_H */ - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/firmware/hw_layer/ports/stm32/stm32f4/openblt/lib/system_stm32f4xx.c b/firmware/hw_layer/ports/stm32/stm32f4/openblt/lib/system_stm32f4xx.c deleted file mode 100644 index c386460e3c..0000000000 --- a/firmware/hw_layer/ports/stm32/stm32f4/openblt/lib/system_stm32f4xx.c +++ /dev/null @@ -1,730 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f4xx.c - * @author MCD Application Team - * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File. - * - * This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f4xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * - ****************************************************************************** - * @attention - * - *

© Copyright (c) 2017 STMicroelectronics. - * All rights reserved.

- * - * This software component is licensed by ST under BSD 3-Clause license, - * the "License"; You may not use this file except in compliance with the - * License. You may obtain a copy of the License at: - * opensource.org/licenses/BSD-3-Clause - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f4xx_system - * @{ - */ - -/** @addtogroup STM32F4xx_System_Private_Includes - * @{ - */ - - -#include "stm32f4xx.h" - -/* No default! Should be explictly defined in openblt/board.mk */ -#if 0 -#if !defined (HSE_VALUE) - #define HSE_VALUE ((uint32_t)8000000) /*!< Default value of the External oscillator in Hz */ -#endif /* HSE_VALUE */ -#endif - -#if !defined (HSI_VALUE) - #define HSI_VALUE ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/ -#endif /* HSI_VALUE */ - -/** - * @} - */ - -/** @addtogroup STM32F4xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F4xx_System_Private_Defines - * @{ - */ - -/************************* Miscellaneous Configuration ************************/ -/*!< Uncomment the following line if you need to use external SRAM or SDRAM as data memory */ -#if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx)\ - || defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\ - || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || defined(STM32F412Vx) -/* #define DATA_IN_ExtSRAM */ -#endif /* STM32F40xxx || STM32F41xxx || STM32F42xxx || STM32F43xxx || STM32F469xx || STM32F479xx ||\ - STM32F412Zx || STM32F412Vx */ - -#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\ - || defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) -/* #define DATA_IN_ExtSDRAM */ -#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx || STM32F446xx || STM32F469xx ||\ - STM32F479xx */ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ -/******************************************************************************/ - -/** - * @} - */ - -/** @addtogroup STM32F4xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F4xx_System_Private_Variables - * @{ - */ - /* This variable is updated in three ways: - 1) by calling CMSIS function SystemCoreClockUpdate() - 2) by calling HAL API function HAL_RCC_GetHCLKFreq() - 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency - Note: If you use this function to configure the system clock; then there - is no need to call the 2 first functions listed above, since SystemCoreClock - variable is updated automatically. - */ -uint32_t SystemCoreClock = 16000000; -const uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; -const uint8_t APBPrescTable[8] = {0, 0, 0, 0, 1, 2, 3, 4}; -/** - * @} - */ - -/** @addtogroup STM32F4xx_System_Private_FunctionPrototypes - * @{ - */ - -#if defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM) - static void SystemInit_ExtMemCtl(void); -#endif /* DATA_IN_ExtSRAM || DATA_IN_ExtSDRAM */ - -/** - * @} - */ - -/** @addtogroup STM32F4xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the FPU setting, vector table location and External memory - * configuration. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* FPU settings ------------------------------------------------------------*/ - #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) - SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ - #endif - -#if defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM) - SystemInit_ExtMemCtl(); -#endif /* DATA_IN_ExtSRAM || DATA_IN_ExtSDRAM */ - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f4xx_hal_conf.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f4xx_hal_conf.h file (its value - * depends on the application requirements), user has to ensure that HSE_VALUE - * is same as the real frequency of the crystal used. Otherwise, this function - * may have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -#if defined (DATA_IN_ExtSRAM) && defined (DATA_IN_ExtSDRAM) -#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\ - || defined(STM32F469xx) || defined(STM32F479xx) -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f4xx.s before jump to main. - * This function configures the external memories (SRAM/SDRAM) - * This SRAM/SDRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ - __IO uint32_t tmp = 0x00; - - register uint32_t tmpreg = 0, timeout = 0xFFFF; - register __IO uint32_t index; - - /* Enable GPIOC, GPIOD, GPIOE, GPIOF, GPIOG, GPIOH and GPIOI interface clock */ - RCC->AHB1ENR |= 0x000001F8; - - /* Delay after an RCC peripheral clock enabling */ - tmp = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOCEN); - - /* Connect PDx pins to FMC Alternate function */ - GPIOD->AFR[0] = 0x00CCC0CC; - GPIOD->AFR[1] = 0xCCCCCCCC; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xAAAA0A8A; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xFFFF0FCF; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FMC Alternate function */ - GPIOE->AFR[0] = 0xC00CC0CC; - GPIOE->AFR[1] = 0xCCCCCCCC; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xAAAA828A; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xFFFFC3CF; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FMC Alternate function */ - GPIOF->AFR[0] = 0xCCCCCCCC; - GPIOF->AFR[1] = 0xCCCCCCCC; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xAA800AAA; - /* Configure PFx pins speed to 50 MHz */ - GPIOF->OSPEEDR = 0xAA800AAA; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FMC Alternate function */ - GPIOG->AFR[0] = 0xCCCCCCCC; - GPIOG->AFR[1] = 0xCCCCCCCC; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0xAAAAAAAA; - /* Configure PGx pins speed to 50 MHz */ - GPIOG->OSPEEDR = 0xAAAAAAAA; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - - /* Connect PHx pins to FMC Alternate function */ - GPIOH->AFR[0] = 0x00C0CC00; - GPIOH->AFR[1] = 0xCCCCCCCC; - /* Configure PHx pins in Alternate function mode */ - GPIOH->MODER = 0xAAAA08A0; - /* Configure PHx pins speed to 50 MHz */ - GPIOH->OSPEEDR = 0xAAAA08A0; - /* Configure PHx pins Output type to push-pull */ - GPIOH->OTYPER = 0x00000000; - /* No pull-up, pull-down for PHx pins */ - GPIOH->PUPDR = 0x00000000; - - /* Connect PIx pins to FMC Alternate function */ - GPIOI->AFR[0] = 0xCCCCCCCC; - GPIOI->AFR[1] = 0x00000CC0; - /* Configure PIx pins in Alternate function mode */ - GPIOI->MODER = 0x0028AAAA; - /* Configure PIx pins speed to 50 MHz */ - GPIOI->OSPEEDR = 0x0028AAAA; - /* Configure PIx pins Output type to push-pull */ - GPIOI->OTYPER = 0x00000000; - /* No pull-up, pull-down for PIx pins */ - GPIOI->PUPDR = 0x00000000; - -/*-- FMC Configuration -------------------------------------------------------*/ - /* Enable the FMC interface clock */ - RCC->AHB3ENR |= 0x00000001; - /* Delay after an RCC peripheral clock enabling */ - tmp = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN); - - FMC_Bank5_6->SDCR[0] = 0x000019E4; - FMC_Bank5_6->SDTR[0] = 0x01115351; - - /* SDRAM initialization sequence */ - /* Clock enable command */ - FMC_Bank5_6->SDCMR = 0x00000011; - tmpreg = FMC_Bank5_6->SDSR & 0x00000020; - while((tmpreg != 0) && (timeout-- > 0)) - { - tmpreg = FMC_Bank5_6->SDSR & 0x00000020; - } - - /* Delay */ - for (index = 0; index<1000; index++); - - /* PALL command */ - FMC_Bank5_6->SDCMR = 0x00000012; - timeout = 0xFFFF; - while((tmpreg != 0) && (timeout-- > 0)) - { - tmpreg = FMC_Bank5_6->SDSR & 0x00000020; - } - - /* Auto refresh command */ - FMC_Bank5_6->SDCMR = 0x00000073; - timeout = 0xFFFF; - while((tmpreg != 0) && (timeout-- > 0)) - { - tmpreg = FMC_Bank5_6->SDSR & 0x00000020; - } - - /* MRD register program */ - FMC_Bank5_6->SDCMR = 0x00046014; - timeout = 0xFFFF; - while((tmpreg != 0) && (timeout-- > 0)) - { - tmpreg = FMC_Bank5_6->SDSR & 0x00000020; - } - - /* Set refresh count */ - tmpreg = FMC_Bank5_6->SDRTR; - FMC_Bank5_6->SDRTR = (tmpreg | (0x0000027C<<1)); - - /* Disable write protection */ - tmpreg = FMC_Bank5_6->SDCR[0]; - FMC_Bank5_6->SDCR[0] = (tmpreg & 0xFFFFFDFF); - -#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx) - /* Configure and enable Bank1_SRAM2 */ - FMC_Bank1->BTCR[2] = 0x00001011; - FMC_Bank1->BTCR[3] = 0x00000201; - FMC_Bank1E->BWTR[2] = 0x0fffffff; -#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx */ -#if defined(STM32F469xx) || defined(STM32F479xx) - /* Configure and enable Bank1_SRAM2 */ - FMC_Bank1->BTCR[2] = 0x00001091; - FMC_Bank1->BTCR[3] = 0x00110212; - FMC_Bank1E->BWTR[2] = 0x0fffffff; -#endif /* STM32F469xx || STM32F479xx */ - - (void)(tmp); -} -#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx || STM32F469xx || STM32F479xx */ -#elif defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM) -/** - * @brief Setup the external memory controller. - * Called in startup_stm32f4xx.s before jump to main. - * This function configures the external memories (SRAM/SDRAM) - * This SRAM/SDRAM will be used as program data memory (including heap and stack). - * @param None - * @retval None - */ -void SystemInit_ExtMemCtl(void) -{ - __IO uint32_t tmp = 0x00; -#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\ - || defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx) -#if defined (DATA_IN_ExtSDRAM) - register uint32_t tmpreg = 0, timeout = 0xFFFF; - register __IO uint32_t index; - -#if defined(STM32F446xx) - /* Enable GPIOA, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG interface - clock */ - RCC->AHB1ENR |= 0x0000007D; -#else - /* Enable GPIOC, GPIOD, GPIOE, GPIOF, GPIOG, GPIOH and GPIOI interface - clock */ - RCC->AHB1ENR |= 0x000001F8; -#endif /* STM32F446xx */ - /* Delay after an RCC peripheral clock enabling */ - tmp = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIOCEN); - -#if defined(STM32F446xx) - /* Connect PAx pins to FMC Alternate function */ - GPIOA->AFR[0] |= 0xC0000000; - GPIOA->AFR[1] |= 0x00000000; - /* Configure PDx pins in Alternate function mode */ - GPIOA->MODER |= 0x00008000; - /* Configure PDx pins speed to 50 MHz */ - GPIOA->OSPEEDR |= 0x00008000; - /* Configure PDx pins Output type to push-pull */ - GPIOA->OTYPER |= 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOA->PUPDR |= 0x00000000; - - /* Connect PCx pins to FMC Alternate function */ - GPIOC->AFR[0] |= 0x00CC0000; - GPIOC->AFR[1] |= 0x00000000; - /* Configure PDx pins in Alternate function mode */ - GPIOC->MODER |= 0x00000A00; - /* Configure PDx pins speed to 50 MHz */ - GPIOC->OSPEEDR |= 0x00000A00; - /* Configure PDx pins Output type to push-pull */ - GPIOC->OTYPER |= 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOC->PUPDR |= 0x00000000; -#endif /* STM32F446xx */ - - /* Connect PDx pins to FMC Alternate function */ - GPIOD->AFR[0] = 0x000000CC; - GPIOD->AFR[1] = 0xCC000CCC; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xA02A000A; - /* Configure PDx pins speed to 50 MHz */ - GPIOD->OSPEEDR = 0xA02A000A; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FMC Alternate function */ - GPIOE->AFR[0] = 0xC00000CC; - GPIOE->AFR[1] = 0xCCCCCCCC; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xAAAA800A; - /* Configure PEx pins speed to 50 MHz */ - GPIOE->OSPEEDR = 0xAAAA800A; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FMC Alternate function */ - GPIOF->AFR[0] = 0xCCCCCCCC; - GPIOF->AFR[1] = 0xCCCCCCCC; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xAA800AAA; - /* Configure PFx pins speed to 50 MHz */ - GPIOF->OSPEEDR = 0xAA800AAA; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FMC Alternate function */ - GPIOG->AFR[0] = 0xCCCCCCCC; - GPIOG->AFR[1] = 0xCCCCCCCC; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0xAAAAAAAA; - /* Configure PGx pins speed to 50 MHz */ - GPIOG->OSPEEDR = 0xAAAAAAAA; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\ - || defined(STM32F469xx) || defined(STM32F479xx) - /* Connect PHx pins to FMC Alternate function */ - GPIOH->AFR[0] = 0x00C0CC00; - GPIOH->AFR[1] = 0xCCCCCCCC; - /* Configure PHx pins in Alternate function mode */ - GPIOH->MODER = 0xAAAA08A0; - /* Configure PHx pins speed to 50 MHz */ - GPIOH->OSPEEDR = 0xAAAA08A0; - /* Configure PHx pins Output type to push-pull */ - GPIOH->OTYPER = 0x00000000; - /* No pull-up, pull-down for PHx pins */ - GPIOH->PUPDR = 0x00000000; - - /* Connect PIx pins to FMC Alternate function */ - GPIOI->AFR[0] = 0xCCCCCCCC; - GPIOI->AFR[1] = 0x00000CC0; - /* Configure PIx pins in Alternate function mode */ - GPIOI->MODER = 0x0028AAAA; - /* Configure PIx pins speed to 50 MHz */ - GPIOI->OSPEEDR = 0x0028AAAA; - /* Configure PIx pins Output type to push-pull */ - GPIOI->OTYPER = 0x00000000; - /* No pull-up, pull-down for PIx pins */ - GPIOI->PUPDR = 0x00000000; -#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx || STM32F469xx || STM32F479xx */ - -/*-- FMC Configuration -------------------------------------------------------*/ - /* Enable the FMC interface clock */ - RCC->AHB3ENR |= 0x00000001; - /* Delay after an RCC peripheral clock enabling */ - tmp = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN); - - /* Configure and enable SDRAM bank1 */ -#if defined(STM32F446xx) - FMC_Bank5_6->SDCR[0] = 0x00001954; -#else - FMC_Bank5_6->SDCR[0] = 0x000019E4; -#endif /* STM32F446xx */ - FMC_Bank5_6->SDTR[0] = 0x01115351; - - /* SDRAM initialization sequence */ - /* Clock enable command */ - FMC_Bank5_6->SDCMR = 0x00000011; - tmpreg = FMC_Bank5_6->SDSR & 0x00000020; - while((tmpreg != 0) && (timeout-- > 0)) - { - tmpreg = FMC_Bank5_6->SDSR & 0x00000020; - } - - /* Delay */ - for (index = 0; index<1000; index++); - - /* PALL command */ - FMC_Bank5_6->SDCMR = 0x00000012; - timeout = 0xFFFF; - while((tmpreg != 0) && (timeout-- > 0)) - { - tmpreg = FMC_Bank5_6->SDSR & 0x00000020; - } - - /* Auto refresh command */ -#if defined(STM32F446xx) - FMC_Bank5_6->SDCMR = 0x000000F3; -#else - FMC_Bank5_6->SDCMR = 0x00000073; -#endif /* STM32F446xx */ - timeout = 0xFFFF; - while((tmpreg != 0) && (timeout-- > 0)) - { - tmpreg = FMC_Bank5_6->SDSR & 0x00000020; - } - - /* MRD register program */ -#if defined(STM32F446xx) - FMC_Bank5_6->SDCMR = 0x00044014; -#else - FMC_Bank5_6->SDCMR = 0x00046014; -#endif /* STM32F446xx */ - timeout = 0xFFFF; - while((tmpreg != 0) && (timeout-- > 0)) - { - tmpreg = FMC_Bank5_6->SDSR & 0x00000020; - } - - /* Set refresh count */ - tmpreg = FMC_Bank5_6->SDRTR; -#if defined(STM32F446xx) - FMC_Bank5_6->SDRTR = (tmpreg | (0x0000050C<<1)); -#else - FMC_Bank5_6->SDRTR = (tmpreg | (0x0000027C<<1)); -#endif /* STM32F446xx */ - - /* Disable write protection */ - tmpreg = FMC_Bank5_6->SDCR[0]; - FMC_Bank5_6->SDCR[0] = (tmpreg & 0xFFFFFDFF); -#endif /* DATA_IN_ExtSDRAM */ -#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx || STM32F446xx || STM32F469xx || STM32F479xx */ - -#if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx)\ - || defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx)\ - || defined(STM32F469xx) || defined(STM32F479xx) || defined(STM32F412Zx) || defined(STM32F412Vx) - -#if defined(DATA_IN_ExtSRAM) -/*-- GPIOs Configuration -----------------------------------------------------*/ - /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */ - RCC->AHB1ENR |= 0x00000078; - /* Delay after an RCC peripheral clock enabling */ - tmp = READ_BIT(RCC->AHB1ENR, RCC_AHB1ENR_GPIODEN); - - /* Connect PDx pins to FMC Alternate function */ - GPIOD->AFR[0] = 0x00CCC0CC; - GPIOD->AFR[1] = 0xCCCCCCCC; - /* Configure PDx pins in Alternate function mode */ - GPIOD->MODER = 0xAAAA0A8A; - /* Configure PDx pins speed to 100 MHz */ - GPIOD->OSPEEDR = 0xFFFF0FCF; - /* Configure PDx pins Output type to push-pull */ - GPIOD->OTYPER = 0x00000000; - /* No pull-up, pull-down for PDx pins */ - GPIOD->PUPDR = 0x00000000; - - /* Connect PEx pins to FMC Alternate function */ - GPIOE->AFR[0] = 0xC00CC0CC; - GPIOE->AFR[1] = 0xCCCCCCCC; - /* Configure PEx pins in Alternate function mode */ - GPIOE->MODER = 0xAAAA828A; - /* Configure PEx pins speed to 100 MHz */ - GPIOE->OSPEEDR = 0xFFFFC3CF; - /* Configure PEx pins Output type to push-pull */ - GPIOE->OTYPER = 0x00000000; - /* No pull-up, pull-down for PEx pins */ - GPIOE->PUPDR = 0x00000000; - - /* Connect PFx pins to FMC Alternate function */ - GPIOF->AFR[0] = 0x00CCCCCC; - GPIOF->AFR[1] = 0xCCCC0000; - /* Configure PFx pins in Alternate function mode */ - GPIOF->MODER = 0xAA000AAA; - /* Configure PFx pins speed to 100 MHz */ - GPIOF->OSPEEDR = 0xFF000FFF; - /* Configure PFx pins Output type to push-pull */ - GPIOF->OTYPER = 0x00000000; - /* No pull-up, pull-down for PFx pins */ - GPIOF->PUPDR = 0x00000000; - - /* Connect PGx pins to FMC Alternate function */ - GPIOG->AFR[0] = 0x00CCCCCC; - GPIOG->AFR[1] = 0x000000C0; - /* Configure PGx pins in Alternate function mode */ - GPIOG->MODER = 0x00085AAA; - /* Configure PGx pins speed to 100 MHz */ - GPIOG->OSPEEDR = 0x000CAFFF; - /* Configure PGx pins Output type to push-pull */ - GPIOG->OTYPER = 0x00000000; - /* No pull-up, pull-down for PGx pins */ - GPIOG->PUPDR = 0x00000000; - -/*-- FMC/FSMC Configuration --------------------------------------------------*/ - /* Enable the FMC/FSMC interface clock */ - RCC->AHB3ENR |= 0x00000001; - -#if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx) - /* Delay after an RCC peripheral clock enabling */ - tmp = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN); - /* Configure and enable Bank1_SRAM2 */ - FMC_Bank1->BTCR[2] = 0x00001011; - FMC_Bank1->BTCR[3] = 0x00000201; - FMC_Bank1E->BWTR[2] = 0x0fffffff; -#endif /* STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx */ -#if defined(STM32F469xx) || defined(STM32F479xx) - /* Delay after an RCC peripheral clock enabling */ - tmp = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FMCEN); - /* Configure and enable Bank1_SRAM2 */ - FMC_Bank1->BTCR[2] = 0x00001091; - FMC_Bank1->BTCR[3] = 0x00110212; - FMC_Bank1E->BWTR[2] = 0x0fffffff; -#endif /* STM32F469xx || STM32F479xx */ -#if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx)|| defined(STM32F417xx)\ - || defined(STM32F412Zx) || defined(STM32F412Vx) - /* Delay after an RCC peripheral clock enabling */ - tmp = READ_BIT(RCC->AHB3ENR, RCC_AHB3ENR_FSMCEN); - /* Configure and enable Bank1_SRAM2 */ - FSMC_Bank1->BTCR[2] = 0x00001011; - FSMC_Bank1->BTCR[3] = 0x00000201; - FSMC_Bank1E->BWTR[2] = 0x0FFFFFFF; -#endif /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx || STM32F412Zx || STM32F412Vx */ - -#endif /* DATA_IN_ExtSRAM */ -#endif /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx || STM32F427xx || STM32F437xx ||\ - STM32F429xx || STM32F439xx || STM32F469xx || STM32F479xx || STM32F412Zx || STM32F412Vx */ - (void)(tmp); -} -#endif /* DATA_IN_ExtSRAM && DATA_IN_ExtSDRAM */ -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/firmware/hw_layer/ports/stm32/stm32f4/openblt/port.mk b/firmware/hw_layer/ports/stm32/stm32f4/openblt/port.mk deleted file mode 100644 index 532ba954b0..0000000000 --- a/firmware/hw_layer/ports/stm32/stm32f4/openblt/port.mk +++ /dev/null @@ -1,14 +0,0 @@ -#|--------------------------------------------------------------------------------------| -#| Collect project files | -#|--------------------------------------------------------------------------------------| -# Collect all application files in the current directory and its subdirectories, but -# exclude flash-layout.c as this one is directly included in a source file, when used. -PROJ_FILES += $(filter-out $(OPENBLT_PORT_DIR)/flash_layout.c, $(call rwildcard, $(OPENBLT_PORT_DIR), *.c *.h *.s)) -# reuse ST32F4xx HAL and CMSIS from one of OpenBLT examples to avoid having copy in rusEFI git -PROJ_FILES += $(filter-out uip, $(call rwildcard, $(OPENBLT_TRGT_DIR)/Demo/ARMCM4_STM32F4_Nucleo_F429ZI_GCC/Boot/lib/CMSIS/, *.c *.h *.s)) -PROJ_FILES += $(filter-out uip, $(call rwildcard, $(OPENBLT_TRGT_DIR)/Demo/ARMCM4_STM32F4_Nucleo_F429ZI_GCC/Boot/lib/STM32F4xx_HAL_Driver/, *.c *.h *.s)) - -#|--------------------------------------------------------------------------------------| -#| Options for toolchain binaries | -#|--------------------------------------------------------------------------------------| -BRDFLAGS = -DUSE_FULL_LL_DRIVER -DUSE_HAL_DRIVER diff --git a/firmware/hw_layer/ports/stm32/stm32f7/cfg/mcuconf.h b/firmware/hw_layer/ports/stm32/stm32f7/cfg/mcuconf.h index 006e045344..d0d2a80212 100644 --- a/firmware/hw_layer/ports/stm32/stm32f7/cfg/mcuconf.h +++ b/firmware/hw_layer/ports/stm32/stm32f7/cfg/mcuconf.h @@ -123,7 +123,10 @@ #define STM32_CECSEL STM32_CECSEL_LSE #define STM32_CK48MSEL STM32_CK48MSEL_PLL #define STM32_SDMMCSEL STM32_SDMMCSEL_PLL48CLK + +#ifndef STM32_SRAM2_NOCACHE #define STM32_SRAM2_NOCACHE TRUE +#endif /* * GPT driver system settings. diff --git a/firmware/hw_layer/ports/stm32/stm32f7/openblt/STM32F7xx.ld b/firmware/hw_layer/ports/stm32/stm32f7/openblt/STM32F7xx.ld deleted file mode 100644 index 25ba7bd13d..0000000000 --- a/firmware/hw_layer/ports/stm32/stm32f7/openblt/STM32F7xx.ld +++ /dev/null @@ -1,155 +0,0 @@ -/* Entry Point */ -ENTRY(Reset_Handler) - -/* This linker file is for OpenBLT bootloader. It compatible with any STM32F7xx - * that used in RusEFI project. So no CCM memory is defined. Also Flash is - * limited by 32K and last 16bytes of RAM are reserved for shared region - * between FW and bootloader */ - -_OpenBLT_Shared_Params_Size = 16; - -/* Highest address of the user mode stack */ -_estack = 0x20020000 - _OpenBLT_Shared_Params_Size; /* end of RAM */ -/* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0x200; /* required amount of heap */ -_Min_Stack_Size = 0x400; /* required amount of stack */ - -/* Specify the memory areas */ -MEMORY -{ - SHARED (xrw) : ORIGIN = 0x20000000, LENGTH = _OpenBLT_Shared_Params_Size - RAM (xrw) : ORIGIN = 0x20000000 + _OpenBLT_Shared_Params_Size, LENGTH = 128K - _OpenBLT_Shared_Params_Size - FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 32K -} - -/* Define output sections */ -SECTIONS -{ - .shared (NOLOAD) : - { - . = ALIGN(4); - _sshared = .; - __shared_start__ = _sshared; - *(.shared) - *(.shared.*) - KEEP(*(.shared)) - . = ALIGN(4); - _eshared = .; - __shared_end__ = _eshared; - } >SHARED - /* The startup code goes first into FLASH */ - .isr_vector : - { - . = ALIGN(4); - KEEP(*(.isr_vector)) /* Startup code */ - . = ALIGN(4); - } >FLASH - - /* The program code and other data goes into FLASH */ - .text : - { - . = ALIGN(4); - *(.text) /* .text sections (code) */ - *(.text*) /* .text* sections (code) */ - *(.glue_7) /* glue arm to thumb code */ - *(.glue_7t) /* glue thumb to arm code */ - *(.eh_frame) - - KEEP (*(.init)) - KEEP (*(.fini)) - - . = ALIGN(4); - _etext = .; /* define a global symbols at end of code */ - } >FLASH - - /* Constant data goes into FLASH */ - .rodata : - { - . = ALIGN(4); - *(.rodata) /* .rodata sections (constants, strings, etc.) */ - *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ - . = ALIGN(4); - } >FLASH - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH - .ARM : { - __exidx_start = .; - *(.ARM.exidx*) - __exidx_end = .; - } >FLASH - - .preinit_array : - { - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP (*(.preinit_array*)) - PROVIDE_HIDDEN (__preinit_array_end = .); - } >FLASH - .init_array : - { - PROVIDE_HIDDEN (__init_array_start = .); - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array*)) - PROVIDE_HIDDEN (__init_array_end = .); - } >FLASH - .fini_array : - { - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP (*(SORT(.fini_array.*))) - KEEP (*(.fini_array*)) - PROVIDE_HIDDEN (__fini_array_end = .); - } >FLASH - - /* used by the startup to initialize data */ - _sidata = LOADADDR(.data); - - /* Initialized data sections goes into RAM, load LMA copy after code */ - .data : - { - . = ALIGN(4); - _sdata = .; /* create a global symbol at data start */ - *(.data) /* .data sections */ - *(.data*) /* .data* sections */ - - . = ALIGN(4); - _edata = .; /* define a global symbol at data end */ - } >RAM AT> FLASH - - /* Uninitialized data section */ - . = ALIGN(4); - .bss : - { - /* This is used by the startup in order to initialize the .bss secion */ - _sbss = .; /* define a global symbol at bss start */ - __bss_start__ = _sbss; - *(.bss) - *(.bss*) - *(COMMON) - - . = ALIGN(4); - _ebss = .; /* define a global symbol at bss end */ - __bss_end__ = _ebss; - } >RAM - - /* User_heap_stack section, used to check that there is enough RAM left */ - ._user_heap_stack : - { - . = ALIGN(8); - PROVIDE ( end = . ); - PROVIDE ( _end = . ); - . = . + _Min_Heap_Size; - . = . + _Min_Stack_Size; - . = ALIGN(8); - } >RAM - - /* Remove information from the standard libraries */ - /DISCARD/ : - { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } - - .ARM.attributes 0 : { *(.ARM.attributes) } -} - - diff --git a/firmware/hw_layer/ports/stm32/stm32f7/openblt/lib/startup_stm32f767xx.s b/firmware/hw_layer/ports/stm32/stm32f7/openblt/lib/startup_stm32f767xx.s deleted file mode 100644 index bdfac69edc..0000000000 --- a/firmware/hw_layer/ports/stm32/stm32f7/openblt/lib/startup_stm32f767xx.s +++ /dev/null @@ -1,650 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32f767xx.s - * @author MCD Application Team - * @brief STM32F767xx Devices vector table for GCC based toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M7 processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2016 STMicroelectronics

- * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of STMicroelectronics nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m7 - .fpu softvfp - .thumb - -.global g_pfnVectors -.global Default_Handler - -/* start address for the initialization values of the .data section. -defined in linker script */ -.word _sidata -/* start address for the .data section. defined in linker script */ -.word _sdata -/* end address for the .data section. defined in linker script */ -.word _edata -/* start address for the .bss section. defined in linker script */ -.word _sbss -/* end address for the .bss section. defined in linker script */ -.word _ebss -/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ - -/** - * @brief This is the code that gets called when the processor first - * starts execution following a reset event. Only the absolutely - * necessary set is performed, after which the application - * supplied main() routine is called. - * @param None - * @retval : None -*/ - - .section .text.Reset_Handler - .weak Reset_Handler - .type Reset_Handler, %function -Reset_Handler: - // Clive Two.Zero is the God of ST community forum - // Device specific, if in doubt RTFM - LDR R0, =0x2001FFF0 // End of SRAM for your CPU - LDR R1, =0xDEADBEEF // magic value - LDR R2, [R0, #0] - STR R0, [R0, #0] // Invalidate - CMP R2, R1 - BEQ UseDFU - // DFU bootloader not needed, continue with OpenBLT - - ldr sp, =_estack /* set stack pointer */ - -/* Copy the data segment initializers from flash to SRAM */ - movs r1, #0 - b LoopCopyDataInit - -CopyDataInit: - ldr r3, =_sidata - ldr r3, [r3, r1] - str r3, [r0, r1] - adds r1, r1, #4 - -LoopCopyDataInit: - ldr r0, =_sdata - ldr r3, =_edata - adds r2, r0, r1 - cmp r2, r3 - bcc CopyDataInit - ldr r2, =_sbss - b LoopFillZerobss -/* Zero fill the bss segment. */ -FillZerobss: - movs r3, #0 - str r3, [r2], #4 - -LoopFillZerobss: - ldr r3, = _ebss - cmp r2, r3 - bcc FillZerobss - -/* Call the clock system initialization function.*/ - bl SystemInit -/* Call static constructors */ - bl __libc_init_array -/* Call the application's entry point.*/ - bl main - bx lr -.size Reset_Handler, .-Reset_Handler - -UseDFU: - // AN2606 Application note - // STM32 microcontroller system memory boot mode -.include "../../dfu_init.h" - BX R0 // this jumps to DFU bootloader - -/** - * @brief This is the code that gets called when the processor receives an - * unexpected interrupt. This simply enters an infinite loop, preserving - * the system state for examination by a debugger. - * @param None - * @retval None -*/ - .section .text.Default_Handler,"ax",%progbits -Default_Handler: -Infinite_Loop: - b Infinite_Loop - .size Default_Handler, .-Default_Handler -/****************************************************************************** -* -* The minimal vector table for a Cortex M7. Note that the proper constructs -* must be placed on this to ensure that it ends up at physical address -* 0x0000.0000. -* -*******************************************************************************/ - .section .isr_vector,"a",%progbits - .type g_pfnVectors, %object - .size g_pfnVectors, .-g_pfnVectors - - -g_pfnVectors: - .word _estack - .word Reset_Handler - - .word NMI_Handler - .word HardFault_Handler - .word MemManage_Handler - .word BusFault_Handler - .word UsageFault_Handler - .word 0 - .word 0 - .word 0 - .word 0 - .word SVC_Handler - .word DebugMon_Handler - .word 0 - .word PendSV_Handler - .word SysTick_Handler - - /* External Interrupts */ - .word WWDG_IRQHandler /* Window WatchDog */ - .word PVD_IRQHandler /* PVD through EXTI Line detection */ - .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ - .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ - .word FLASH_IRQHandler /* FLASH */ - .word RCC_IRQHandler /* RCC */ - .word EXTI0_IRQHandler /* EXTI Line0 */ - .word EXTI1_IRQHandler /* EXTI Line1 */ - .word EXTI2_IRQHandler /* EXTI Line2 */ - .word EXTI3_IRQHandler /* EXTI Line3 */ - .word EXTI4_IRQHandler /* EXTI Line4 */ - .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ - .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ - .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ - .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ - .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ - .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ - .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ - .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ - .word CAN1_TX_IRQHandler /* CAN1 TX */ - .word CAN1_RX0_IRQHandler /* CAN1 RX0 */ - .word CAN1_RX1_IRQHandler /* CAN1 RX1 */ - .word CAN1_SCE_IRQHandler /* CAN1 SCE */ - .word EXTI9_5_IRQHandler /* External Line[9:5]s */ - .word TIM1_BRK_TIM9_IRQHandler /* TIM1 Break and TIM9 */ - .word TIM1_UP_TIM10_IRQHandler /* TIM1 Update and TIM10 */ - .word TIM1_TRG_COM_TIM11_IRQHandler /* TIM1 Trigger and Commutation and TIM11 */ - .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ - .word TIM2_IRQHandler /* TIM2 */ - .word TIM3_IRQHandler /* TIM3 */ - .word TIM4_IRQHandler /* TIM4 */ - .word I2C1_EV_IRQHandler /* I2C1 Event */ - .word I2C1_ER_IRQHandler /* I2C1 Error */ - .word I2C2_EV_IRQHandler /* I2C2 Event */ - .word I2C2_ER_IRQHandler /* I2C2 Error */ - .word SPI1_IRQHandler /* SPI1 */ - .word SPI2_IRQHandler /* SPI2 */ - .word USART1_IRQHandler /* USART1 */ - .word USART2_IRQHandler /* USART2 */ - .word USART3_IRQHandler /* USART3 */ - .word EXTI15_10_IRQHandler /* External Line[15:10]s */ - .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ - .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI line */ - .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ - .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ - .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ - .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ - .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ - .word FMC_IRQHandler /* FMC */ - .word SDMMC1_IRQHandler /* SDMMC1 */ - .word TIM5_IRQHandler /* TIM5 */ - .word SPI3_IRQHandler /* SPI3 */ - .word UART4_IRQHandler /* UART4 */ - .word UART5_IRQHandler /* UART5 */ - .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ - .word TIM7_IRQHandler /* TIM7 */ - .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ - .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ - .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ - .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ - .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ - .word ETH_IRQHandler /* Ethernet */ - .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ - .word CAN2_TX_IRQHandler /* CAN2 TX */ - .word CAN2_RX0_IRQHandler /* CAN2 RX0 */ - .word CAN2_RX1_IRQHandler /* CAN2 RX1 */ - .word CAN2_SCE_IRQHandler /* CAN2 SCE */ - .word OTG_FS_IRQHandler /* USB OTG FS */ - .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ - .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ - .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ - .word USART6_IRQHandler /* USART6 */ - .word I2C3_EV_IRQHandler /* I2C3 event */ - .word I2C3_ER_IRQHandler /* I2C3 error */ - .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ - .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ - .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ - .word OTG_HS_IRQHandler /* USB OTG HS */ - .word DCMI_IRQHandler /* DCMI */ - .word 0 /* Reserved */ - .word RNG_IRQHandler /* RNG */ - .word FPU_IRQHandler /* FPU */ - .word UART7_IRQHandler /* UART7 */ - .word UART8_IRQHandler /* UART8 */ - .word SPI4_IRQHandler /* SPI4 */ - .word SPI5_IRQHandler /* SPI5 */ - .word SPI6_IRQHandler /* SPI6 */ - .word SAI1_IRQHandler /* SAI1 */ - .word LTDC_IRQHandler /* LTDC */ - .word LTDC_ER_IRQHandler /* LTDC error */ - .word DMA2D_IRQHandler /* DMA2D */ - .word SAI2_IRQHandler /* SAI2 */ - .word QUADSPI_IRQHandler /* QUADSPI */ - .word LPTIM1_IRQHandler /* LPTIM1 */ - .word CEC_IRQHandler /* HDMI_CEC */ - .word I2C4_EV_IRQHandler /* I2C4 Event */ - .word I2C4_ER_IRQHandler /* I2C4 Error */ - .word SPDIF_RX_IRQHandler /* SPDIF_RX */ - .word 0 /* Reserved */ - .word DFSDM1_FLT0_IRQHandler /* DFSDM1 Filter 0 global Interrupt */ - .word DFSDM1_FLT1_IRQHandler /* DFSDM1 Filter 1 global Interrupt */ - .word DFSDM1_FLT2_IRQHandler /* DFSDM1 Filter 2 global Interrupt */ - .word DFSDM1_FLT3_IRQHandler /* DFSDM1 Filter 3 global Interrupt */ - .word SDMMC2_IRQHandler /* SDMMC2 */ - .word CAN3_TX_IRQHandler /* CAN3 TX */ - .word CAN3_RX0_IRQHandler /* CAN3 RX0 */ - .word CAN3_RX1_IRQHandler /* CAN3 RX1 */ - .word CAN3_SCE_IRQHandler /* CAN3 SCE */ - .word JPEG_IRQHandler /* JPEG */ - .word MDIOS_IRQHandler /* MDIOS */ - -/******************************************************************************* -* -* Provide weak aliases for each Exception handler to the Default_Handler. -* As they are weak aliases, any function with the same name will override -* this definition. -* -*******************************************************************************/ - .weak NMI_Handler - .thumb_set NMI_Handler,Default_Handler - - .weak HardFault_Handler - .thumb_set HardFault_Handler,Default_Handler - - .weak MemManage_Handler - .thumb_set MemManage_Handler,Default_Handler - - .weak BusFault_Handler - .thumb_set BusFault_Handler,Default_Handler - - .weak UsageFault_Handler - .thumb_set UsageFault_Handler,Default_Handler - - .weak SVC_Handler - .thumb_set SVC_Handler,Default_Handler - - .weak DebugMon_Handler - .thumb_set DebugMon_Handler,Default_Handler - - .weak PendSV_Handler - .thumb_set PendSV_Handler,Default_Handler - - .weak SysTick_Handler - .thumb_set SysTick_Handler,Default_Handler - - .weak WWDG_IRQHandler - .thumb_set WWDG_IRQHandler,Default_Handler - - .weak PVD_IRQHandler - .thumb_set PVD_IRQHandler,Default_Handler - - .weak TAMP_STAMP_IRQHandler - .thumb_set TAMP_STAMP_IRQHandler,Default_Handler - - .weak RTC_WKUP_IRQHandler - .thumb_set RTC_WKUP_IRQHandler,Default_Handler - - .weak FLASH_IRQHandler - .thumb_set FLASH_IRQHandler,Default_Handler - - .weak RCC_IRQHandler - .thumb_set RCC_IRQHandler,Default_Handler - - .weak EXTI0_IRQHandler - .thumb_set EXTI0_IRQHandler,Default_Handler - - .weak EXTI1_IRQHandler - .thumb_set EXTI1_IRQHandler,Default_Handler - - .weak EXTI2_IRQHandler - .thumb_set EXTI2_IRQHandler,Default_Handler - - .weak EXTI3_IRQHandler - .thumb_set EXTI3_IRQHandler,Default_Handler - - .weak EXTI4_IRQHandler - .thumb_set EXTI4_IRQHandler,Default_Handler - - .weak DMA1_Stream0_IRQHandler - .thumb_set DMA1_Stream0_IRQHandler,Default_Handler - - .weak DMA1_Stream1_IRQHandler - .thumb_set DMA1_Stream1_IRQHandler,Default_Handler - - .weak DMA1_Stream2_IRQHandler - .thumb_set DMA1_Stream2_IRQHandler,Default_Handler - - .weak DMA1_Stream3_IRQHandler - .thumb_set DMA1_Stream3_IRQHandler,Default_Handler - - .weak DMA1_Stream4_IRQHandler - .thumb_set DMA1_Stream4_IRQHandler,Default_Handler - - .weak DMA1_Stream5_IRQHandler - .thumb_set DMA1_Stream5_IRQHandler,Default_Handler - - .weak DMA1_Stream6_IRQHandler - .thumb_set DMA1_Stream6_IRQHandler,Default_Handler - - .weak ADC_IRQHandler - .thumb_set ADC_IRQHandler,Default_Handler - - .weak CAN1_TX_IRQHandler - .thumb_set CAN1_TX_IRQHandler,Default_Handler - - .weak CAN1_RX0_IRQHandler - .thumb_set CAN1_RX0_IRQHandler,Default_Handler - - .weak CAN1_RX1_IRQHandler - .thumb_set CAN1_RX1_IRQHandler,Default_Handler - - .weak CAN1_SCE_IRQHandler - .thumb_set CAN1_SCE_IRQHandler,Default_Handler - - .weak EXTI9_5_IRQHandler - .thumb_set EXTI9_5_IRQHandler,Default_Handler - - .weak TIM1_BRK_TIM9_IRQHandler - .thumb_set TIM1_BRK_TIM9_IRQHandler,Default_Handler - - .weak TIM1_UP_TIM10_IRQHandler - .thumb_set TIM1_UP_TIM10_IRQHandler,Default_Handler - - .weak TIM1_TRG_COM_TIM11_IRQHandler - .thumb_set TIM1_TRG_COM_TIM11_IRQHandler,Default_Handler - - .weak TIM1_CC_IRQHandler - .thumb_set TIM1_CC_IRQHandler,Default_Handler - - .weak TIM2_IRQHandler - .thumb_set TIM2_IRQHandler,Default_Handler - - .weak TIM3_IRQHandler - .thumb_set TIM3_IRQHandler,Default_Handler - - .weak TIM4_IRQHandler - .thumb_set TIM4_IRQHandler,Default_Handler - - .weak I2C1_EV_IRQHandler - .thumb_set I2C1_EV_IRQHandler,Default_Handler - - .weak I2C1_ER_IRQHandler - .thumb_set I2C1_ER_IRQHandler,Default_Handler - - .weak I2C2_EV_IRQHandler - .thumb_set I2C2_EV_IRQHandler,Default_Handler - - .weak I2C2_ER_IRQHandler - .thumb_set I2C2_ER_IRQHandler,Default_Handler - - .weak SPI1_IRQHandler - .thumb_set SPI1_IRQHandler,Default_Handler - - .weak SPI2_IRQHandler - .thumb_set SPI2_IRQHandler,Default_Handler - - .weak USART1_IRQHandler - .thumb_set USART1_IRQHandler,Default_Handler - - .weak USART2_IRQHandler - .thumb_set USART2_IRQHandler,Default_Handler - - .weak USART3_IRQHandler - .thumb_set USART3_IRQHandler,Default_Handler - - .weak EXTI15_10_IRQHandler - .thumb_set EXTI15_10_IRQHandler,Default_Handler - - .weak RTC_Alarm_IRQHandler - .thumb_set RTC_Alarm_IRQHandler,Default_Handler - - .weak OTG_FS_WKUP_IRQHandler - .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler - - .weak TIM8_BRK_TIM12_IRQHandler - .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler - - .weak TIM8_UP_TIM13_IRQHandler - .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler - - .weak TIM8_TRG_COM_TIM14_IRQHandler - .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler - - .weak TIM8_CC_IRQHandler - .thumb_set TIM8_CC_IRQHandler,Default_Handler - - .weak DMA1_Stream7_IRQHandler - .thumb_set DMA1_Stream7_IRQHandler,Default_Handler - - .weak FMC_IRQHandler - .thumb_set FMC_IRQHandler,Default_Handler - - .weak SDMMC1_IRQHandler - .thumb_set SDMMC1_IRQHandler,Default_Handler - - .weak TIM5_IRQHandler - .thumb_set TIM5_IRQHandler,Default_Handler - - .weak SPI3_IRQHandler - .thumb_set SPI3_IRQHandler,Default_Handler - - .weak UART4_IRQHandler - .thumb_set UART4_IRQHandler,Default_Handler - - .weak UART5_IRQHandler - .thumb_set UART5_IRQHandler,Default_Handler - - .weak TIM6_DAC_IRQHandler - .thumb_set TIM6_DAC_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - - .weak DMA2_Stream0_IRQHandler - .thumb_set DMA2_Stream0_IRQHandler,Default_Handler - - .weak DMA2_Stream1_IRQHandler - .thumb_set DMA2_Stream1_IRQHandler,Default_Handler - - .weak DMA2_Stream2_IRQHandler - .thumb_set DMA2_Stream2_IRQHandler,Default_Handler - - .weak DMA2_Stream3_IRQHandler - .thumb_set DMA2_Stream3_IRQHandler,Default_Handler - - .weak DMA2_Stream4_IRQHandler - .thumb_set DMA2_Stream4_IRQHandler,Default_Handler - - .weak DMA2_Stream4_IRQHandler - .thumb_set DMA2_Stream4_IRQHandler,Default_Handler - - .weak ETH_IRQHandler - .thumb_set ETH_IRQHandler,Default_Handler - - .weak ETH_WKUP_IRQHandler - .thumb_set ETH_WKUP_IRQHandler,Default_Handler - - .weak CAN2_TX_IRQHandler - .thumb_set CAN2_TX_IRQHandler,Default_Handler - - .weak CAN2_RX0_IRQHandler - .thumb_set CAN2_RX0_IRQHandler,Default_Handler - - .weak CAN2_RX1_IRQHandler - .thumb_set CAN2_RX1_IRQHandler,Default_Handler - - .weak CAN2_SCE_IRQHandler - .thumb_set CAN2_SCE_IRQHandler,Default_Handler - - .weak OTG_FS_IRQHandler - .thumb_set OTG_FS_IRQHandler,Default_Handler - - .weak DMA2_Stream5_IRQHandler - .thumb_set DMA2_Stream5_IRQHandler,Default_Handler - - .weak DMA2_Stream6_IRQHandler - .thumb_set DMA2_Stream6_IRQHandler,Default_Handler - - .weak DMA2_Stream7_IRQHandler - .thumb_set DMA2_Stream7_IRQHandler,Default_Handler - - .weak USART6_IRQHandler - .thumb_set USART6_IRQHandler,Default_Handler - - .weak I2C3_EV_IRQHandler - .thumb_set I2C3_EV_IRQHandler,Default_Handler - - .weak I2C3_ER_IRQHandler - .thumb_set I2C3_ER_IRQHandler,Default_Handler - - .weak OTG_HS_EP1_OUT_IRQHandler - .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler - - .weak OTG_HS_EP1_IN_IRQHandler - .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler - - .weak OTG_HS_WKUP_IRQHandler - .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler - - .weak OTG_HS_IRQHandler - .thumb_set OTG_HS_IRQHandler,Default_Handler - - .weak DCMI_IRQHandler - .thumb_set DCMI_IRQHandler,Default_Handler - - .weak RNG_IRQHandler - .thumb_set RNG_IRQHandler,Default_Handler - - .weak FPU_IRQHandler - .thumb_set FPU_IRQHandler,Default_Handler - - .weak UART7_IRQHandler - .thumb_set UART7_IRQHandler,Default_Handler - - .weak UART8_IRQHandler - .thumb_set UART8_IRQHandler,Default_Handler - - .weak SPI4_IRQHandler - .thumb_set SPI4_IRQHandler,Default_Handler - - .weak SPI5_IRQHandler - .thumb_set SPI5_IRQHandler,Default_Handler - - .weak SPI6_IRQHandler - .thumb_set SPI6_IRQHandler,Default_Handler - - .weak SAI1_IRQHandler - .thumb_set SAI1_IRQHandler,Default_Handler - - .weak LTDC_IRQHandler - .thumb_set LTDC_IRQHandler,Default_Handler - - .weak LTDC_ER_IRQHandler - .thumb_set LTDC_ER_IRQHandler,Default_Handler - - .weak DMA2D_IRQHandler - .thumb_set DMA2D_IRQHandler,Default_Handler - - .weak SAI2_IRQHandler - .thumb_set SAI2_IRQHandler,Default_Handler - - .weak QUADSPI_IRQHandler - .thumb_set QUADSPI_IRQHandler,Default_Handler - - .weak LPTIM1_IRQHandler - .thumb_set LPTIM1_IRQHandler,Default_Handler - - .weak CEC_IRQHandler - .thumb_set CEC_IRQHandler,Default_Handler - - .weak I2C4_EV_IRQHandler - .thumb_set I2C4_EV_IRQHandler,Default_Handler - - .weak I2C4_ER_IRQHandler - .thumb_set I2C4_ER_IRQHandler,Default_Handler - - .weak SPDIF_RX_IRQHandler - .thumb_set SPDIF_RX_IRQHandler,Default_Handler - - .weak DFSDM1_FLT0_IRQHandler - .thumb_set DFSDM1_FLT0_IRQHandler,Default_Handler - - .weak DFSDM1_FLT1_IRQHandler - .thumb_set DFSDM1_FLT1_IRQHandler,Default_Handler - - .weak DFSDM1_FLT2_IRQHandler - .thumb_set DFSDM1_FLT2_IRQHandler,Default_Handler - - .weak DFSDM1_FLT3_IRQHandler - .thumb_set DFSDM1_FLT3_IRQHandler,Default_Handler - - .weak SDMMC2_IRQHandler - .thumb_set SDMMC2_IRQHandler,Default_Handler - - .weak CAN3_TX_IRQHandler - .thumb_set CAN3_TX_IRQHandler,Default_Handler - - .weak CAN3_RX0_IRQHandler - .thumb_set CAN3_RX0_IRQHandler,Default_Handler - - .weak CAN3_RX1_IRQHandler - .thumb_set CAN3_RX1_IRQHandler,Default_Handler - - .weak CAN3_SCE_IRQHandler - .thumb_set CAN3_SCE_IRQHandler,Default_Handler - - .weak JPEG_IRQHandler - .thumb_set JPEG_IRQHandler,Default_Handler - - .weak MDIOS_IRQHandler - .thumb_set MDIOS_IRQHandler,Default_Handler - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ - diff --git a/firmware/hw_layer/ports/stm32/stm32f7/openblt/lib/stm32f7xx_hal_conf.h b/firmware/hw_layer/ports/stm32/stm32f7/openblt/lib/stm32f7xx_hal_conf.h deleted file mode 100644 index 4329b9b38b..0000000000 --- a/firmware/hw_layer/ports/stm32/stm32f7/openblt/lib/stm32f7xx_hal_conf.h +++ /dev/null @@ -1,461 +0,0 @@ -/** - ****************************************************************************** - * @file stm32f7xx_hal_conf.h - * @brief HAL configuration file. - ****************************************************************************** - * @attention - * - *

© COPYRIGHT(c) 2019 STMicroelectronics

- * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of STMicroelectronics nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************** - */ - -/* Define to prevent recursive inclusion -------------------------------------*/ -#ifndef __STM32F7xx_HAL_CONF_H -#define __STM32F7xx_HAL_CONF_H - -#ifdef __cplusplus - extern "C" { -#endif - -/* Exported types ------------------------------------------------------------*/ -/* Exported constants --------------------------------------------------------*/ - -/* ########################## Module Selection ############################## */ -/** - * @brief This is the list of modules to be used in the HAL driver - */ -#define HAL_MODULE_ENABLED - -/* #define HAL_ADC_MODULE_ENABLED */ -/* #define HAL_CRYP_MODULE_ENABLED */ -#define HAL_CAN_MODULE_ENABLED -/* #define HAL_CEC_MODULE_ENABLED */ -/* #define HAL_CRC_MODULE_ENABLED */ -/* #define HAL_CRYP_MODULE_ENABLED */ -/* #define HAL_DAC_MODULE_ENABLED */ -/* #define HAL_DCMI_MODULE_ENABLED */ -/* #define HAL_DMA2D_MODULE_ENABLED */ -/* #define HAL_ETH_MODULE_ENABLED */ -/* #define HAL_NAND_MODULE_ENABLED */ -/* #define HAL_NOR_MODULE_ENABLED */ -/* #define HAL_SRAM_MODULE_ENABLED */ -/* #define HAL_SDRAM_MODULE_ENABLED */ -/* #define HAL_HASH_MODULE_ENABLED */ -/* #define HAL_I2S_MODULE_ENABLED */ -/* #define HAL_IWDG_MODULE_ENABLED */ -/* #define HAL_LPTIM_MODULE_ENABLED */ -/* #define HAL_LTDC_MODULE_ENABLED */ -/* #define HAL_QSPI_MODULE_ENABLED */ -/* #define HAL_RNG_MODULE_ENABLED */ -/* #define HAL_RTC_MODULE_ENABLED */ -/* #define HAL_SAI_MODULE_ENABLED */ -/* #define HAL_SD_MODULE_ENABLED */ -/* #define HAL_MMC_MODULE_ENABLED */ -/* #define HAL_SPDIFRX_MODULE_ENABLED */ -/* #define HAL_SPI_MODULE_ENABLED */ -/* #define HAL_TIM_MODULE_ENABLED */ -/* #define HAL_UART_MODULE_ENABLED */ -/* #define HAL_USART_MODULE_ENABLED */ -/* #define HAL_IRDA_MODULE_ENABLED */ -/* #define HAL_SMARTCARD_MODULE_ENABLED */ -/* #define HAL_WWDG_MODULE_ENABLED */ -/* #define HAL_PCD_MODULE_ENABLED */ -/* #define HAL_HCD_MODULE_ENABLED */ -/* #define HAL_DFSDM_MODULE_ENABLED */ -/* #define HAL_DSI_MODULE_ENABLED */ -/* #define HAL_JPEG_MODULE_ENABLED */ -/* #define HAL_MDIOS_MODULE_ENABLED */ -/* #define HAL_SMBUS_MODULE_ENABLED */ -/* #define HAL_MMC_MODULE_ENABLED */ -/* #define HAL_EXTI_MODULE_ENABLED */ -#define HAL_GPIO_MODULE_ENABLED -#define HAL_DMA_MODULE_ENABLED -#define HAL_RCC_MODULE_ENABLED -#define HAL_FLASH_MODULE_ENABLED -#define HAL_PWR_MODULE_ENABLED -#define HAL_I2C_MODULE_ENABLED -#define HAL_CORTEX_MODULE_ENABLED - -/* ########################## HSE/HSI Values adaptation ##################### */ -/** - * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. - * This value is used by the RCC HAL module to compute the system frequency - * (when HSE is used as system clock source, directly or through the PLL). - */ -/* No default! Should be explictly defined in openblt/board.mk */ -#if 0 -#if !defined (HSE_VALUE) - #define HSE_VALUE ((uint32_t)25000000U) /*!< Value of the External oscillator in Hz */ -#endif /* HSE_VALUE */ -#endif - -#if !defined (HSE_STARTUP_TIMEOUT) - #define HSE_STARTUP_TIMEOUT ((uint32_t)100U) /*!< Time out for HSE start up, in ms */ -#endif /* HSE_STARTUP_TIMEOUT */ - -/** - * @brief Internal High Speed oscillator (HSI) value. - * This value is used by the RCC HAL module to compute the system frequency - * (when HSI is used as system clock source, directly or through the PLL). - */ -#if !defined (HSI_VALUE) - #define HSI_VALUE ((uint32_t)16000000U) /*!< Value of the Internal oscillator in Hz*/ -#endif /* HSI_VALUE */ - -/** - * @brief Internal Low Speed oscillator (LSI) value. - */ -#if !defined (LSI_VALUE) - #define LSI_VALUE ((uint32_t)32000U) /*!< LSI Typical Value in Hz*/ -#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz - The real value may vary depending on the variations - in voltage and temperature. */ -/** - * @brief External Low Speed oscillator (LSE) value. - */ -#if !defined (LSE_VALUE) - #define LSE_VALUE ((uint32_t)32768U) /*!< Value of the External Low Speed oscillator in Hz */ -#endif /* LSE_VALUE */ - -#if !defined (LSE_STARTUP_TIMEOUT) - #define LSE_STARTUP_TIMEOUT ((uint32_t)5000U) /*!< Time out for LSE start up, in ms */ -#endif /* LSE_STARTUP_TIMEOUT */ - -/** - * @brief External clock source for I2S peripheral - * This value is used by the I2S HAL module to compute the I2S clock source - * frequency, this source is inserted directly through I2S_CKIN pad. - */ -#if !defined (EXTERNAL_CLOCK_VALUE) - #define EXTERNAL_CLOCK_VALUE ((uint32_t)12288000U) /*!< Value of the Internal oscillator in Hz*/ -#endif /* EXTERNAL_CLOCK_VALUE */ - -/* Tip: To avoid modifying this file each time you need to use different HSE, - === you can define the HSE value in your toolchain compiler preprocessor. */ - -/* ########################### System Configuration ######################### */ -/** - * @brief This is the HAL system configuration section - */ -#define VDD_VALUE ((uint32_t)3300U) /*!< Value of VDD in mv */ -#define TICK_INT_PRIORITY ((uint32_t)0U) /*!< tick interrupt priority */ -#define USE_RTOS 0U -#define PREFETCH_ENABLE 0U -#define ART_ACCLERATOR_ENABLE 0U /* To enable instruction cache and prefetch */ - -/* ########################## Assert Selection ############################## */ -/** - * @brief Uncomment the line below to expanse the "assert_param" macro in the - * HAL drivers code - */ -/* #define USE_FULL_ASSERT 1U */ - -/* ################## Ethernet peripheral configuration ##################### */ - -/* Section 1 : Ethernet peripheral configuration */ - -/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */ -#define MAC_ADDR0 2U -#define MAC_ADDR1 0U -#define MAC_ADDR2 0U -#define MAC_ADDR3 0U -#define MAC_ADDR4 0U -#define MAC_ADDR5 0U - -/* Definition of the Ethernet driver buffers size and count */ -#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */ -#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */ -#define ETH_RXBUFNB ((uint32_t)4U) /* 4 Rx buffers of size ETH_RX_BUF_SIZE */ -#define ETH_TXBUFNB ((uint32_t)4U) /* 4 Tx buffers of size ETH_TX_BUF_SIZE */ - -/* Section 2: PHY configuration section */ - -/* LAN8742A_PHY_ADDRESS Address*/ -#define LAN8742A_PHY_ADDRESS 0 -/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/ -#define PHY_RESET_DELAY ((uint32_t)0x000000FFU) -/* PHY Configuration delay */ -#define PHY_CONFIG_DELAY ((uint32_t)0x00000FFFU) - -#define PHY_READ_TO ((uint32_t)0x0000FFFFU) -#define PHY_WRITE_TO ((uint32_t)0x0000FFFFU) - -/* Section 3: Common PHY Registers */ - -#define PHY_BCR ((uint16_t)0x00U) /*!< Transceiver Basic Control Register */ -#define PHY_BSR ((uint16_t)0x01U) /*!< Transceiver Basic Status Register */ - -#define PHY_RESET ((uint16_t)0x8000U) /*!< PHY Reset */ -#define PHY_LOOPBACK ((uint16_t)0x4000U) /*!< Select loop-back mode */ -#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100U) /*!< Set the full-duplex mode at 100 Mb/s */ -#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000U) /*!< Set the half-duplex mode at 100 Mb/s */ -#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100U) /*!< Set the full-duplex mode at 10 Mb/s */ -#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000U) /*!< Set the half-duplex mode at 10 Mb/s */ -#define PHY_AUTONEGOTIATION ((uint16_t)0x1000U) /*!< Enable auto-negotiation function */ -#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200U) /*!< Restart auto-negotiation function */ -#define PHY_POWERDOWN ((uint16_t)0x0800U) /*!< Select the power down mode */ -#define PHY_ISOLATE ((uint16_t)0x0400U) /*!< Isolate PHY from MII */ - -#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020U) /*!< Auto-Negotiation process completed */ -#define PHY_LINKED_STATUS ((uint16_t)0x0004U) /*!< Valid link established */ -#define PHY_JABBER_DETECTION ((uint16_t)0x0002U) /*!< Jabber condition detected */ - -/* Section 4: Extended PHY Registers */ -#define PHY_SR ((uint16_t)0x10U) /*!< PHY status register Offset */ - -#define PHY_SPEED_STATUS ((uint16_t)0x0002U) /*!< PHY Speed mask */ -#define PHY_DUPLEX_STATUS ((uint16_t)0x0004U) /*!< PHY Duplex mask */ - -#define PHY_ISFR ((uint16_t)0x000BU) /*!< PHY Interrupt Source Flag register Offset */ -#define PHY_ISFR_INT4 ((uint16_t)0x000BU) /*!< PHY Link down inturrupt */ - -/* ################## SPI peripheral configuration ########################## */ - -/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver -* Activated: CRC code is present inside driver -* Deactivated: CRC code cleaned from driver -*/ - -#define USE_SPI_CRC 0U - -/* Includes ------------------------------------------------------------------*/ -/** - * @brief Include module's header file - */ - -#ifdef HAL_RCC_MODULE_ENABLED - #include "stm32f7xx_hal_rcc.h" -#endif /* HAL_RCC_MODULE_ENABLED */ - -#ifdef HAL_EXTI_MODULE_ENABLED - #include "stm32f7xx_hal_exti.h" -#endif /* HAL_EXTI_MODULE_ENABLED */ - -#ifdef HAL_GPIO_MODULE_ENABLED - #include "stm32f7xx_hal_gpio.h" -#endif /* HAL_GPIO_MODULE_ENABLED */ - -#ifdef HAL_DMA_MODULE_ENABLED - #include "stm32f7xx_hal_dma.h" -#endif /* HAL_DMA_MODULE_ENABLED */ - -#ifdef HAL_CORTEX_MODULE_ENABLED - #include "stm32f7xx_hal_cortex.h" -#endif /* HAL_CORTEX_MODULE_ENABLED */ - -#ifdef HAL_ADC_MODULE_ENABLED - #include "stm32f7xx_hal_adc.h" -#endif /* HAL_ADC_MODULE_ENABLED */ - -#ifdef HAL_CAN_MODULE_ENABLED - #include "stm32f7xx_hal_can.h" -#endif /* HAL_CAN_MODULE_ENABLED */ - -#ifdef HAL_CEC_MODULE_ENABLED - #include "stm32f7xx_hal_cec.h" -#endif /* HAL_CEC_MODULE_ENABLED */ - -#ifdef HAL_CRC_MODULE_ENABLED - #include "stm32f7xx_hal_crc.h" -#endif /* HAL_CRC_MODULE_ENABLED */ - -#ifdef HAL_CRYP_MODULE_ENABLED - #include "stm32f7xx_hal_cryp.h" -#endif /* HAL_CRYP_MODULE_ENABLED */ - -#ifdef HAL_DMA2D_MODULE_ENABLED - #include "stm32f7xx_hal_dma2d.h" -#endif /* HAL_DMA2D_MODULE_ENABLED */ - -#ifdef HAL_DAC_MODULE_ENABLED - #include "stm32f7xx_hal_dac.h" -#endif /* HAL_DAC_MODULE_ENABLED */ - -#ifdef HAL_DCMI_MODULE_ENABLED - #include "stm32f7xx_hal_dcmi.h" -#endif /* HAL_DCMI_MODULE_ENABLED */ - -#ifdef HAL_ETH_MODULE_ENABLED - #include "stm32f7xx_hal_eth.h" -#endif /* HAL_ETH_MODULE_ENABLED */ - -#ifdef HAL_FLASH_MODULE_ENABLED - #include "stm32f7xx_hal_flash.h" -#endif /* HAL_FLASH_MODULE_ENABLED */ - -#ifdef HAL_SRAM_MODULE_ENABLED - #include "stm32f7xx_hal_sram.h" -#endif /* HAL_SRAM_MODULE_ENABLED */ - -#ifdef HAL_NOR_MODULE_ENABLED - #include "stm32f7xx_hal_nor.h" -#endif /* HAL_NOR_MODULE_ENABLED */ - -#ifdef HAL_NAND_MODULE_ENABLED - #include "stm32f7xx_hal_nand.h" -#endif /* HAL_NAND_MODULE_ENABLED */ - -#ifdef HAL_SDRAM_MODULE_ENABLED - #include "stm32f7xx_hal_sdram.h" -#endif /* HAL_SDRAM_MODULE_ENABLED */ - -#ifdef HAL_HASH_MODULE_ENABLED - #include "stm32f7xx_hal_hash.h" -#endif /* HAL_HASH_MODULE_ENABLED */ - -#ifdef HAL_I2C_MODULE_ENABLED - #include "stm32f7xx_hal_i2c.h" -#endif /* HAL_I2C_MODULE_ENABLED */ - -#ifdef HAL_I2S_MODULE_ENABLED - #include "stm32f7xx_hal_i2s.h" -#endif /* HAL_I2S_MODULE_ENABLED */ - -#ifdef HAL_IWDG_MODULE_ENABLED - #include "stm32f7xx_hal_iwdg.h" -#endif /* HAL_IWDG_MODULE_ENABLED */ - -#ifdef HAL_LPTIM_MODULE_ENABLED - #include "stm32f7xx_hal_lptim.h" -#endif /* HAL_LPTIM_MODULE_ENABLED */ - -#ifdef HAL_LTDC_MODULE_ENABLED - #include "stm32f7xx_hal_ltdc.h" -#endif /* HAL_LTDC_MODULE_ENABLED */ - -#ifdef HAL_PWR_MODULE_ENABLED - #include "stm32f7xx_hal_pwr.h" -#endif /* HAL_PWR_MODULE_ENABLED */ - -#ifdef HAL_QSPI_MODULE_ENABLED - #include "stm32f7xx_hal_qspi.h" -#endif /* HAL_QSPI_MODULE_ENABLED */ - -#ifdef HAL_RNG_MODULE_ENABLED - #include "stm32f7xx_hal_rng.h" -#endif /* HAL_RNG_MODULE_ENABLED */ - -#ifdef HAL_RTC_MODULE_ENABLED - #include "stm32f7xx_hal_rtc.h" -#endif /* HAL_RTC_MODULE_ENABLED */ - -#ifdef HAL_SAI_MODULE_ENABLED - #include "stm32f7xx_hal_sai.h" -#endif /* HAL_SAI_MODULE_ENABLED */ - -#ifdef HAL_SD_MODULE_ENABLED - #include "stm32f7xx_hal_sd.h" -#endif /* HAL_SD_MODULE_ENABLED */ - -#ifdef HAL_MMC_MODULE_ENABLED - #include "stm32f7xx_hal_mmc.h" -#endif /* HAL_MMC_MODULE_ENABLED */ - -#ifdef HAL_SPDIFRX_MODULE_ENABLED - #include "stm32f7xx_hal_spdifrx.h" -#endif /* HAL_SPDIFRX_MODULE_ENABLED */ - -#ifdef HAL_SPI_MODULE_ENABLED - #include "stm32f7xx_hal_spi.h" -#endif /* HAL_SPI_MODULE_ENABLED */ - -#ifdef HAL_TIM_MODULE_ENABLED - #include "stm32f7xx_hal_tim.h" -#endif /* HAL_TIM_MODULE_ENABLED */ - -#ifdef HAL_UART_MODULE_ENABLED - #include "stm32f7xx_hal_uart.h" -#endif /* HAL_UART_MODULE_ENABLED */ - -#ifdef HAL_USART_MODULE_ENABLED - #include "stm32f7xx_hal_usart.h" -#endif /* HAL_USART_MODULE_ENABLED */ - -#ifdef HAL_IRDA_MODULE_ENABLED - #include "stm32f7xx_hal_irda.h" -#endif /* HAL_IRDA_MODULE_ENABLED */ - -#ifdef HAL_SMARTCARD_MODULE_ENABLED - #include "stm32f7xx_hal_smartcard.h" -#endif /* HAL_SMARTCARD_MODULE_ENABLED */ - -#ifdef HAL_WWDG_MODULE_ENABLED - #include "stm32f7xx_hal_wwdg.h" -#endif /* HAL_WWDG_MODULE_ENABLED */ - -#ifdef HAL_PCD_MODULE_ENABLED - #include "stm32f7xx_hal_pcd.h" -#endif /* HAL_PCD_MODULE_ENABLED */ - -#ifdef HAL_HCD_MODULE_ENABLED - #include "stm32f7xx_hal_hcd.h" -#endif /* HAL_HCD_MODULE_ENABLED */ - -#ifdef HAL_DFSDM_MODULE_ENABLED - #include "stm32f7xx_hal_dfsdm.h" -#endif /* HAL_DFSDM_MODULE_ENABLED */ - -#ifdef HAL_DSI_MODULE_ENABLED - #include "stm32f7xx_hal_dsi.h" -#endif /* HAL_DSI_MODULE_ENABLED */ - -#ifdef HAL_JPEG_MODULE_ENABLED - #include "stm32f7xx_hal_jpeg.h" -#endif /* HAL_JPEG_MODULE_ENABLED */ - -#ifdef HAL_MDIOS_MODULE_ENABLED - #include "stm32f7xx_hal_mdios.h" -#endif /* HAL_MDIOS_MODULE_ENABLED */ - -#ifdef HAL_SMBUS_MODULE_ENABLED - #include "stm32f7xx_hal_smbus.h" -#endif /* HAL_SMBUS_MODULE_ENABLED */ - -/* Exported macro ------------------------------------------------------------*/ -#ifdef USE_FULL_ASSERT -/** - * @brief The assert_param macro is used for function's parameters check. - * @param expr: If expr is false, it calls assert_failed function - * which reports the name of the source file and the source - * line number of the call that failed. - * If expr is true, it returns no value. - * @retval None - */ - #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) -/* Exported functions ------------------------------------------------------- */ - void assert_failed(uint8_t* file, uint32_t line); -#else - #define assert_param(expr) ((void)0U) -#endif /* USE_FULL_ASSERT */ - -#ifdef __cplusplus -} -#endif - -#endif /* __STM32F7xx_HAL_CONF_H */ - - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/firmware/hw_layer/ports/stm32/stm32f7/openblt/lib/system_stm32f7xx.c b/firmware/hw_layer/ports/stm32/stm32f7/openblt/lib/system_stm32f7xx.c deleted file mode 100644 index e4b012cfb3..0000000000 --- a/firmware/hw_layer/ports/stm32/stm32f7/openblt/lib/system_stm32f7xx.c +++ /dev/null @@ -1,281 +0,0 @@ -/** - ****************************************************************************** - * @file system_stm32f7xx.c - * @author MCD Application Team - * @brief CMSIS Cortex-M7 Device Peripheral Access Layer System Source File. - * - * This file provides two functions and one global variable to be called from - * user application: - * - SystemInit(): This function is called at startup just after reset and - * before branch to main program. This call is made inside - * the "startup_stm32f7xx.s" file. - * - * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used - * by the user application to setup the SysTick - * timer or configure other parameters. - * - * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must - * be called whenever the core clock is changed - * during program execution. - * - * - ****************************************************************************** - * @attention - * - *

© COPYRIGHT 2016 STMicroelectronics

- * - * Redistribution and use in source and binary forms, with or without modification, - * are permitted provided that the following conditions are met: - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of STMicroelectronics nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ****************************************************************************** - */ - -/** @addtogroup CMSIS - * @{ - */ - -/** @addtogroup stm32f7xx_system - * @{ - */ - -/** @addtogroup STM32F7xx_System_Private_Includes - * @{ - */ - -#include "stm32f7xx.h" - -/* No default! Should be explictly defined in openblt/board.mk */ -#if 0 -#if !defined (HSE_VALUE) - #define HSE_VALUE ((uint32_t)25000000) /*!< Default value of the External oscillator in Hz */ -#endif /* HSE_VALUE */ -#endif - -#if !defined (HSI_VALUE) - #define HSI_VALUE ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/ -#endif /* HSI_VALUE */ - -/** - * @} - */ - -/** @addtogroup STM32F7xx_System_Private_TypesDefinitions - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F7xx_System_Private_Defines - * @{ - */ - -/************************* Miscellaneous Configuration ************************/ - -/*!< Uncomment the following line if you need to relocate your vector Table in - Internal SRAM. */ -/* #define VECT_TAB_SRAM */ -#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field. - This value must be a multiple of 0x200. */ -/******************************************************************************/ - -/** - * @} - */ - -/** @addtogroup STM32F7xx_System_Private_Macros - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F7xx_System_Private_Variables - * @{ - */ - - /* This variable is updated in three ways: - 1) by calling CMSIS function SystemCoreClockUpdate() - 2) by calling HAL API function HAL_RCC_GetHCLKFreq() - 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency - Note: If you use this function to configure the system clock; then there - is no need to call the 2 first functions listed above, since SystemCoreClock - variable is updated automatically. - */ - uint32_t SystemCoreClock = 16000000; - const uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9}; - const uint8_t APBPrescTable[8] = {0, 0, 0, 0, 1, 2, 3, 4}; - -/** - * @} - */ - -/** @addtogroup STM32F7xx_System_Private_FunctionPrototypes - * @{ - */ - -/** - * @} - */ - -/** @addtogroup STM32F7xx_System_Private_Functions - * @{ - */ - -/** - * @brief Setup the microcontroller system - * Initialize the Embedded Flash Interface, the PLL and update the - * SystemFrequency variable. - * @param None - * @retval None - */ -void SystemInit(void) -{ - /* FPU settings ------------------------------------------------------------*/ - #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) - SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ - #endif - /* Reset the RCC clock configuration to the default reset state ------------*/ - /* Set HSION bit */ - RCC->CR |= (uint32_t)0x00000001; - - /* Reset CFGR register */ - RCC->CFGR = 0x00000000; - - /* Reset HSEON, CSSON and PLLON bits */ - RCC->CR &= (uint32_t)0xFEF6FFFF; - - /* Reset PLLCFGR register */ - RCC->PLLCFGR = 0x24003010; - - /* Reset HSEBYP bit */ - RCC->CR &= (uint32_t)0xFFFBFFFF; - - /* Disable all interrupts */ - RCC->CIR = 0x00000000; - - /* Configure the Vector Table location add offset address ------------------*/ -#ifdef VECT_TAB_SRAM - SCB->VTOR = RAMDTCM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ -#else - SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */ -#endif -} - -/** - * @brief Update SystemCoreClock variable according to Clock Register Values. - * The SystemCoreClock variable contains the core clock (HCLK), it can - * be used by the user application to setup the SysTick timer or configure - * other parameters. - * - * @note Each time the core clock (HCLK) changes, this function must be called - * to update SystemCoreClock variable value. Otherwise, any configuration - * based on this variable will be incorrect. - * - * @note - The system frequency computed by this function is not the real - * frequency in the chip. It is calculated based on the predefined - * constant and the selected clock source: - * - * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*) - * - * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**) - * - * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**) - * or HSI_VALUE(*) multiplied/divided by the PLL factors. - * - * (*) HSI_VALUE is a constant defined in stm32f7xx_hal_conf.h file (default value - * 16 MHz) but the real value may vary depending on the variations - * in voltage and temperature. - * - * (**) HSE_VALUE is a constant defined in stm32f7xx_hal_conf.h file (default value - * 25 MHz), user has to ensure that HSE_VALUE is same as the real - * frequency of the crystal used. Otherwise, this function may - * have wrong result. - * - * - The result of this function could be not correct when using fractional - * value for HSE crystal. - * - * @param None - * @retval None - */ -void SystemCoreClockUpdate(void) -{ - uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 2; - - /* Get SYSCLK source -------------------------------------------------------*/ - tmp = RCC->CFGR & RCC_CFGR_SWS; - - switch (tmp) - { - case 0x00: /* HSI used as system clock source */ - SystemCoreClock = HSI_VALUE; - break; - case 0x04: /* HSE used as system clock source */ - SystemCoreClock = HSE_VALUE; - break; - case 0x08: /* PLL used as system clock source */ - - /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N - SYSCLK = PLL_VCO / PLL_P - */ - pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) >> 22; - pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; - - if (pllsource != 0) - { - /* HSE used as PLL clock source */ - pllvco = (HSE_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - else - { - /* HSI used as PLL clock source */ - pllvco = (HSI_VALUE / pllm) * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 6); - } - - pllp = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >>16) + 1 ) *2; - SystemCoreClock = pllvco/pllp; - break; - default: - SystemCoreClock = HSI_VALUE; - break; - } - /* Compute HCLK frequency --------------------------------------------------*/ - /* Get HCLK prescaler */ - tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)]; - /* HCLK frequency */ - SystemCoreClock >>= tmp; -} - -/** - * @} - */ - -/** - * @} - */ - -/** - * @} - */ -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/firmware/hw_layer/ports/stm32/stm32f7/openblt/port.mk b/firmware/hw_layer/ports/stm32/stm32f7/openblt/port.mk deleted file mode 100644 index ea24185cd3..0000000000 --- a/firmware/hw_layer/ports/stm32/stm32f7/openblt/port.mk +++ /dev/null @@ -1,16 +0,0 @@ -#|--------------------------------------------------------------------------------------| -#| Collect port files | -#|--------------------------------------------------------------------------------------| -# Collect all application files in the current directory and its subdirectories, but -# exclude flash-layout.c as this one is directly included in a source file, when used. -PROJ_FILES += $(filter-out $(OPENBLT_PORT_DIR)/flash_layout.c, $(call rwildcard, $(OPENBLT_PORT_DIR), *.c *.h *.s)) -# reuse ST32F7xx HAL and CMSIS from one of OpenBLT examples to avoid having copy in rusEFI git -PROJ_FILES += $(filter-out uip, $(call rwildcard, $(OPENBLT_TRGT_DIR)/Demo/ARMCM7_STM32F7_Nucleo_F767ZI_GCC/Boot/lib/CMSIS/, *.c *.h *.s)) -PROJ_FILES += $(filter-out uip, $(call rwildcard, $(OPENBLT_TRGT_DIR)/Demo/ARMCM7_STM32F7_Nucleo_F767ZI_GCC/Boot/lib/STM32F7xx_HAL_Driver/, *.c *.h *.s)) -PROJ_FILES += $(wildcard $(OPENBLT_TRGT_DIR)/Demo/ARMCM7_STM32F7_Nucleo_F746ZG_GCC/Boot/lib/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_can.c) -PROJ_FILES += $(wildcard $(OPENBLT_TRGT_DIR)/Demo/ARMCM7_STM32F7_Nucleo_F746ZG_GCC/Boot/lib/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_can.h) - -#|--------------------------------------------------------------------------------------| -#| Specific options for toolchain binaries | -#|--------------------------------------------------------------------------------------| -PORTFLAGS = -DUSE_FULL_LL_DRIVER -DUSE_HAL_DRIVER diff --git a/firmware/hw_layer/ports/stm32/stm32h7/cfg/mcuconf.h b/firmware/hw_layer/ports/stm32/stm32h7/cfg/mcuconf.h index b81f5ac2dc..5caffe7665 100644 --- a/firmware/hw_layer/ports/stm32/stm32h7/cfg/mcuconf.h +++ b/firmware/hw_layer/ports/stm32/stm32h7/cfg/mcuconf.h @@ -54,8 +54,12 @@ * Memory attributes settings. */ #define STM32_NOCACHE_MPU_REGION MPU_REGION_6 +#ifndef STM32_NOCACHE_SRAM1_SRAM2 #define STM32_NOCACHE_SRAM1_SRAM2 FALSE +#endif // STM32_NOCACHE_SRAM1_SRAM2 +#ifndef STM32_NOCACHE_SRAM3 #define STM32_NOCACHE_SRAM3 TRUE +#endif // STM32_NOCACHE_SRAM3 /* * PWR system settings. diff --git a/firmware/hw_layer/ports/stm32/stm32h7/openblt/lib/startup_stm32h743xx.s b/firmware/hw_layer/ports/stm32/stm32h7/openblt/lib/startup_stm32h743xx.s deleted file mode 100644 index 6cb101d637..0000000000 --- a/firmware/hw_layer/ports/stm32/stm32h7/openblt/lib/startup_stm32h743xx.s +++ /dev/null @@ -1,764 +0,0 @@ -/** - ****************************************************************************** - * @file startup_stm32h743xx.s - * @author MCD Application Team - * @brief STM32H743xx Devices vector table for GCC based toolchain. - * This module performs: - * - Set the initial SP - * - Set the initial PC == Reset_Handler, - * - Set the vector table entries with the exceptions ISR address - * - Branches to main in the C library (which eventually - * calls main()). - * After Reset the Cortex-M processor is in Thread mode, - * priority is Privileged, and the Stack is set to Main. - ****************************************************************************** - * @attention - * - *

© Copyright (c) 2017 STMicroelectronics. - * All rights reserved.

- * - * This software component is licensed by ST under BSD 3-Clause license, - * the "License"; You may not use this file except in compliance with the - * License. You may obtain a copy of the License at: - * opensource.org/licenses/BSD-3-Clause - * - ****************************************************************************** - */ - - .syntax unified - .cpu cortex-m7 - .fpu softvfp - .thumb - -.global g_pfnVectors -.global Default_Handler - -/* start address for the initialization values of the .data section. -defined in linker script */ -.word _sidata -/* start address for the .data section. defined in linker script */ -.word _sdata -/* end address for the .data section. defined in linker script */ -.word _edata -/* start address for the .bss section. defined in linker script */ -.word _sbss -/* end address for the .bss section. defined in linker script */ -.word _ebss -/* stack used for SystemInit_ExtMemCtl; always internal RAM used */ - -/** - * @brief This is the code that gets called when the processor first - * starts execution following a reset event. Only the absolutely - * necessary set is performed, after which the application - * supplied main() routine is called. - * @param None - * @retval : None -*/ - - .section .text.Reset_Handler - .weak Reset_Handler - .type Reset_Handler, %function -Reset_Handler: - // Clive Two.Zero is the God of ST community forum - // Device specific, if in doubt RTFM - LDR R0, =0x2001FFF0 // End of SRAM for your CPU - LDR R1, =0xDEADBEEF // magic value - LDR R2, [R0, #0] - STR R0, [R0, #0] // Invalidate - CMP R2, R1 - BEQ UseDFU - // DFU bootloader not needed, continue with OpenBLT - - ldr sp, =_estack /* set stack pointer */ - -/* Copy the data segment initializers from flash to SRAM */ - movs r1, #0 - b LoopCopyDataInit - -CopyDataInit: - ldr r3, =_sidata - ldr r3, [r3, r1] - str r3, [r0, r1] - adds r1, r1, #4 - -LoopCopyDataInit: - ldr r0, =_sdata - ldr r3, =_edata - adds r2, r0, r1 - cmp r2, r3 - bcc CopyDataInit - ldr r2, =_sbss - b LoopFillZerobss -/* Zero fill the bss segment. */ -FillZerobss: - movs r3, #0 - str r3, [r2], #4 - -LoopFillZerobss: - ldr r3, = _ebss - cmp r2, r3 - bcc FillZerobss - -/* Call the clock system intitialization function.*/ - bl SystemInit -/* Call static constructors */ - bl __libc_init_array -/* Call the application's entry point.*/ - bl main - bx lr -.size Reset_Handler, .-Reset_Handler - -UseDFU: - // AN2606 Application note - // STM32 microcontroller system memory boot mode -.include "../../dfu_init.h" - BX R0 // this jumps to DFU bootloader - -/** - * @brief This is the code that gets called when the processor receives an - * unexpected interrupt. This simply enters an infinite loop, preserving - * the system state for examination by a debugger. - * @param None - * @retval None -*/ - .section .text.Default_Handler,"ax",%progbits -Default_Handler: -Infinite_Loop: - b Infinite_Loop - .size Default_Handler, .-Default_Handler -/****************************************************************************** -* -* The minimal vector table for a Cortex M. Note that the proper constructs -* must be placed on this to ensure that it ends up at physical address -* 0x0000.0000. -* -*******************************************************************************/ - .section .isr_vector,"a",%progbits - .type g_pfnVectors, %object - .size g_pfnVectors, .-g_pfnVectors - - -g_pfnVectors: - .word _estack - .word Reset_Handler - - .word NMI_Handler - .word HardFault_Handler - .word MemManage_Handler - .word BusFault_Handler - .word UsageFault_Handler - .word 0 - .word 0 - .word 0 - .word 0 - .word SVC_Handler - .word DebugMon_Handler - .word 0 - .word PendSV_Handler - .word SysTick_Handler - - /* External Interrupts */ - .word WWDG_IRQHandler /* Window WatchDog */ - .word PVD_AVD_IRQHandler /* PVD/AVD through EXTI Line detection */ - .word TAMP_STAMP_IRQHandler /* Tamper and TimeStamps through the EXTI line */ - .word RTC_WKUP_IRQHandler /* RTC Wakeup through the EXTI line */ - .word FLASH_IRQHandler /* FLASH */ - .word RCC_IRQHandler /* RCC */ - .word EXTI0_IRQHandler /* EXTI Line0 */ - .word EXTI1_IRQHandler /* EXTI Line1 */ - .word EXTI2_IRQHandler /* EXTI Line2 */ - .word EXTI3_IRQHandler /* EXTI Line3 */ - .word EXTI4_IRQHandler /* EXTI Line4 */ - .word DMA1_Stream0_IRQHandler /* DMA1 Stream 0 */ - .word DMA1_Stream1_IRQHandler /* DMA1 Stream 1 */ - .word DMA1_Stream2_IRQHandler /* DMA1 Stream 2 */ - .word DMA1_Stream3_IRQHandler /* DMA1 Stream 3 */ - .word DMA1_Stream4_IRQHandler /* DMA1 Stream 4 */ - .word DMA1_Stream5_IRQHandler /* DMA1 Stream 5 */ - .word DMA1_Stream6_IRQHandler /* DMA1 Stream 6 */ - .word ADC_IRQHandler /* ADC1, ADC2 and ADC3s */ - .word FDCAN1_IT0_IRQHandler /* FDCAN1 interrupt line 0 */ - .word FDCAN2_IT0_IRQHandler /* FDCAN2 interrupt line 0 */ - .word FDCAN1_IT1_IRQHandler /* FDCAN1 interrupt line 1 */ - .word FDCAN2_IT1_IRQHandler /* FDCAN2 interrupt line 1 */ - .word EXTI9_5_IRQHandler /* External Line[9:5]s */ - .word TIM1_BRK_IRQHandler /* TIM1 Break interrupt */ - .word TIM1_UP_IRQHandler /* TIM1 Update interrupt */ - .word TIM1_TRG_COM_IRQHandler /* TIM1 Trigger and Commutation interrupt */ - .word TIM1_CC_IRQHandler /* TIM1 Capture Compare */ - .word TIM2_IRQHandler /* TIM2 */ - .word TIM3_IRQHandler /* TIM3 */ - .word TIM4_IRQHandler /* TIM4 */ - .word I2C1_EV_IRQHandler /* I2C1 Event */ - .word I2C1_ER_IRQHandler /* I2C1 Error */ - .word I2C2_EV_IRQHandler /* I2C2 Event */ - .word I2C2_ER_IRQHandler /* I2C2 Error */ - .word SPI1_IRQHandler /* SPI1 */ - .word SPI2_IRQHandler /* SPI2 */ - .word USART1_IRQHandler /* USART1 */ - .word USART2_IRQHandler /* USART2 */ - .word USART3_IRQHandler /* USART3 */ - .word EXTI15_10_IRQHandler /* External Line[15:10]s */ - .word RTC_Alarm_IRQHandler /* RTC Alarm (A and B) through EXTI Line */ - .word 0 /* Reserved */ - .word TIM8_BRK_TIM12_IRQHandler /* TIM8 Break and TIM12 */ - .word TIM8_UP_TIM13_IRQHandler /* TIM8 Update and TIM13 */ - .word TIM8_TRG_COM_TIM14_IRQHandler /* TIM8 Trigger and Commutation and TIM14 */ - .word TIM8_CC_IRQHandler /* TIM8 Capture Compare */ - .word DMA1_Stream7_IRQHandler /* DMA1 Stream7 */ - .word FMC_IRQHandler /* FMC */ - .word SDMMC1_IRQHandler /* SDMMC1 */ - .word TIM5_IRQHandler /* TIM5 */ - .word SPI3_IRQHandler /* SPI3 */ - .word UART4_IRQHandler /* UART4 */ - .word UART5_IRQHandler /* UART5 */ - .word TIM6_DAC_IRQHandler /* TIM6 and DAC1&2 underrun errors */ - .word TIM7_IRQHandler /* TIM7 */ - .word DMA2_Stream0_IRQHandler /* DMA2 Stream 0 */ - .word DMA2_Stream1_IRQHandler /* DMA2 Stream 1 */ - .word DMA2_Stream2_IRQHandler /* DMA2 Stream 2 */ - .word DMA2_Stream3_IRQHandler /* DMA2 Stream 3 */ - .word DMA2_Stream4_IRQHandler /* DMA2 Stream 4 */ - .word ETH_IRQHandler /* Ethernet */ - .word ETH_WKUP_IRQHandler /* Ethernet Wakeup through EXTI line */ - .word FDCAN_CAL_IRQHandler /* FDCAN calibration unit interrupt*/ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word DMA2_Stream5_IRQHandler /* DMA2 Stream 5 */ - .word DMA2_Stream6_IRQHandler /* DMA2 Stream 6 */ - .word DMA2_Stream7_IRQHandler /* DMA2 Stream 7 */ - .word USART6_IRQHandler /* USART6 */ - .word I2C3_EV_IRQHandler /* I2C3 event */ - .word I2C3_ER_IRQHandler /* I2C3 error */ - .word OTG_HS_EP1_OUT_IRQHandler /* USB OTG HS End Point 1 Out */ - .word OTG_HS_EP1_IN_IRQHandler /* USB OTG HS End Point 1 In */ - .word OTG_HS_WKUP_IRQHandler /* USB OTG HS Wakeup through EXTI */ - .word OTG_HS_IRQHandler /* USB OTG HS */ - .word DCMI_IRQHandler /* DCMI */ - .word 0 /* Reserved */ - .word RNG_IRQHandler /* Rng */ - .word FPU_IRQHandler /* FPU */ - .word UART7_IRQHandler /* UART7 */ - .word UART8_IRQHandler /* UART8 */ - .word SPI4_IRQHandler /* SPI4 */ - .word SPI5_IRQHandler /* SPI5 */ - .word SPI6_IRQHandler /* SPI6 */ - .word SAI1_IRQHandler /* SAI1 */ - .word LTDC_IRQHandler /* LTDC */ - .word LTDC_ER_IRQHandler /* LTDC error */ - .word DMA2D_IRQHandler /* DMA2D */ - .word SAI2_IRQHandler /* SAI2 */ - .word QUADSPI_IRQHandler /* QUADSPI */ - .word LPTIM1_IRQHandler /* LPTIM1 */ - .word CEC_IRQHandler /* HDMI_CEC */ - .word I2C4_EV_IRQHandler /* I2C4 Event */ - .word I2C4_ER_IRQHandler /* I2C4 Error */ - .word SPDIF_RX_IRQHandler /* SPDIF_RX */ - .word OTG_FS_EP1_OUT_IRQHandler /* USB OTG FS End Point 1 Out */ - .word OTG_FS_EP1_IN_IRQHandler /* USB OTG FS End Point 1 In */ - .word OTG_FS_WKUP_IRQHandler /* USB OTG FS Wakeup through EXTI */ - .word OTG_FS_IRQHandler /* USB OTG FS */ - .word DMAMUX1_OVR_IRQHandler /* DMAMUX1 Overrun interrupt */ - .word HRTIM1_Master_IRQHandler /* HRTIM Master Timer global Interrupt */ - .word HRTIM1_TIMA_IRQHandler /* HRTIM Timer A global Interrupt */ - .word HRTIM1_TIMB_IRQHandler /* HRTIM Timer B global Interrupt */ - .word HRTIM1_TIMC_IRQHandler /* HRTIM Timer C global Interrupt */ - .word HRTIM1_TIMD_IRQHandler /* HRTIM Timer D global Interrupt */ - .word HRTIM1_TIME_IRQHandler /* HRTIM Timer E global Interrupt */ - .word HRTIM1_FLT_IRQHandler /* HRTIM Fault global Interrupt */ - .word DFSDM1_FLT0_IRQHandler /* DFSDM Filter0 Interrupt */ - .word DFSDM1_FLT1_IRQHandler /* DFSDM Filter1 Interrupt */ - .word DFSDM1_FLT2_IRQHandler /* DFSDM Filter2 Interrupt */ - .word DFSDM1_FLT3_IRQHandler /* DFSDM Filter3 Interrupt */ - .word SAI3_IRQHandler /* SAI3 global Interrupt */ - .word SWPMI1_IRQHandler /* Serial Wire Interface 1 global interrupt */ - .word TIM15_IRQHandler /* TIM15 global Interrupt */ - .word TIM16_IRQHandler /* TIM16 global Interrupt */ - .word TIM17_IRQHandler /* TIM17 global Interrupt */ - .word MDIOS_WKUP_IRQHandler /* MDIOS Wakeup Interrupt */ - .word MDIOS_IRQHandler /* MDIOS global Interrupt */ - .word JPEG_IRQHandler /* JPEG global Interrupt */ - .word MDMA_IRQHandler /* MDMA global Interrupt */ - .word 0 /* Reserved */ - .word SDMMC2_IRQHandler /* SDMMC2 global Interrupt */ - .word HSEM1_IRQHandler /* HSEM1 global Interrupt */ - .word 0 /* Reserved */ - .word ADC3_IRQHandler /* ADC3 global Interrupt */ - .word DMAMUX2_OVR_IRQHandler /* DMAMUX Overrun interrupt */ - .word BDMA_Channel0_IRQHandler /* BDMA Channel 0 global Interrupt */ - .word BDMA_Channel1_IRQHandler /* BDMA Channel 1 global Interrupt */ - .word BDMA_Channel2_IRQHandler /* BDMA Channel 2 global Interrupt */ - .word BDMA_Channel3_IRQHandler /* BDMA Channel 3 global Interrupt */ - .word BDMA_Channel4_IRQHandler /* BDMA Channel 4 global Interrupt */ - .word BDMA_Channel5_IRQHandler /* BDMA Channel 5 global Interrupt */ - .word BDMA_Channel6_IRQHandler /* BDMA Channel 6 global Interrupt */ - .word BDMA_Channel7_IRQHandler /* BDMA Channel 7 global Interrupt */ - .word COMP1_IRQHandler /* COMP1 global Interrupt */ - .word LPTIM2_IRQHandler /* LP TIM2 global interrupt */ - .word LPTIM3_IRQHandler /* LP TIM3 global interrupt */ - .word LPTIM4_IRQHandler /* LP TIM4 global interrupt */ - .word LPTIM5_IRQHandler /* LP TIM5 global interrupt */ - .word LPUART1_IRQHandler /* LP UART1 interrupt */ - .word 0 /* Reserved */ - .word CRS_IRQHandler /* Clock Recovery Global Interrupt */ - .word ECC_IRQHandler /* ECC diagnostic Global Interrupt */ - .word SAI4_IRQHandler /* SAI4 global interrupt */ - .word 0 /* Reserved */ - .word 0 /* Reserved */ - .word WAKEUP_PIN_IRQHandler /* Interrupt for all 6 wake-up pins */ - -/******************************************************************************* -* -* Provide weak aliases for each Exception handler to the Default_Handler. -* As they are weak aliases, any function with the same name will override -* this definition. -* -*******************************************************************************/ - .weak NMI_Handler - .thumb_set NMI_Handler,Default_Handler - - .weak HardFault_Handler - .thumb_set HardFault_Handler,Default_Handler - - .weak MemManage_Handler - .thumb_set MemManage_Handler,Default_Handler - - .weak BusFault_Handler - .thumb_set BusFault_Handler,Default_Handler - - .weak UsageFault_Handler - .thumb_set UsageFault_Handler,Default_Handler - - .weak SVC_Handler - .thumb_set SVC_Handler,Default_Handler - - .weak DebugMon_Handler - .thumb_set DebugMon_Handler,Default_Handler - - .weak PendSV_Handler - .thumb_set PendSV_Handler,Default_Handler - - .weak SysTick_Handler - .thumb_set SysTick_Handler,Default_Handler - - .weak WWDG_IRQHandler - .thumb_set WWDG_IRQHandler,Default_Handler - - .weak PVD_AVD_IRQHandler - .thumb_set PVD_AVD_IRQHandler,Default_Handler - - .weak TAMP_STAMP_IRQHandler - .thumb_set TAMP_STAMP_IRQHandler,Default_Handler - - .weak RTC_WKUP_IRQHandler - .thumb_set RTC_WKUP_IRQHandler,Default_Handler - - .weak FLASH_IRQHandler - .thumb_set FLASH_IRQHandler,Default_Handler - - .weak RCC_IRQHandler - .thumb_set RCC_IRQHandler,Default_Handler - - .weak EXTI0_IRQHandler - .thumb_set EXTI0_IRQHandler,Default_Handler - - .weak EXTI1_IRQHandler - .thumb_set EXTI1_IRQHandler,Default_Handler - - .weak EXTI2_IRQHandler - .thumb_set EXTI2_IRQHandler,Default_Handler - - .weak EXTI3_IRQHandler - .thumb_set EXTI3_IRQHandler,Default_Handler - - .weak EXTI4_IRQHandler - .thumb_set EXTI4_IRQHandler,Default_Handler - - .weak DMA1_Stream0_IRQHandler - .thumb_set DMA1_Stream0_IRQHandler,Default_Handler - - .weak DMA1_Stream1_IRQHandler - .thumb_set DMA1_Stream1_IRQHandler,Default_Handler - - .weak DMA1_Stream2_IRQHandler - .thumb_set DMA1_Stream2_IRQHandler,Default_Handler - - .weak DMA1_Stream3_IRQHandler - .thumb_set DMA1_Stream3_IRQHandler,Default_Handler - - .weak DMA1_Stream4_IRQHandler - .thumb_set DMA1_Stream4_IRQHandler,Default_Handler - - .weak DMA1_Stream5_IRQHandler - .thumb_set DMA1_Stream5_IRQHandler,Default_Handler - - .weak DMA1_Stream6_IRQHandler - .thumb_set DMA1_Stream6_IRQHandler,Default_Handler - - .weak ADC_IRQHandler - .thumb_set ADC_IRQHandler,Default_Handler - - .weak FDCAN1_IT0_IRQHandler - .thumb_set FDCAN1_IT0_IRQHandler,Default_Handler - - .weak FDCAN2_IT0_IRQHandler - .thumb_set FDCAN2_IT0_IRQHandler,Default_Handler - - .weak FDCAN1_IT1_IRQHandler - .thumb_set FDCAN1_IT1_IRQHandler,Default_Handler - - .weak FDCAN2_IT1_IRQHandler - .thumb_set FDCAN2_IT1_IRQHandler,Default_Handler - - .weak EXTI9_5_IRQHandler - .thumb_set EXTI9_5_IRQHandler,Default_Handler - - .weak TIM1_BRK_IRQHandler - .thumb_set TIM1_BRK_IRQHandler,Default_Handler - - .weak TIM1_UP_IRQHandler - .thumb_set TIM1_UP_IRQHandler,Default_Handler - - .weak TIM1_TRG_COM_IRQHandler - .thumb_set TIM1_TRG_COM_IRQHandler,Default_Handler - - .weak TIM1_CC_IRQHandler - .thumb_set TIM1_CC_IRQHandler,Default_Handler - - .weak TIM2_IRQHandler - .thumb_set TIM2_IRQHandler,Default_Handler - - .weak TIM3_IRQHandler - .thumb_set TIM3_IRQHandler,Default_Handler - - .weak TIM4_IRQHandler - .thumb_set TIM4_IRQHandler,Default_Handler - - .weak I2C1_EV_IRQHandler - .thumb_set I2C1_EV_IRQHandler,Default_Handler - - .weak I2C1_ER_IRQHandler - .thumb_set I2C1_ER_IRQHandler,Default_Handler - - .weak I2C2_EV_IRQHandler - .thumb_set I2C2_EV_IRQHandler,Default_Handler - - .weak I2C2_ER_IRQHandler - .thumb_set I2C2_ER_IRQHandler,Default_Handler - - .weak SPI1_IRQHandler - .thumb_set SPI1_IRQHandler,Default_Handler - - .weak SPI2_IRQHandler - .thumb_set SPI2_IRQHandler,Default_Handler - - .weak USART1_IRQHandler - .thumb_set USART1_IRQHandler,Default_Handler - - .weak USART2_IRQHandler - .thumb_set USART2_IRQHandler,Default_Handler - - .weak USART3_IRQHandler - .thumb_set USART3_IRQHandler,Default_Handler - - .weak EXTI15_10_IRQHandler - .thumb_set EXTI15_10_IRQHandler,Default_Handler - - .weak RTC_Alarm_IRQHandler - .thumb_set RTC_Alarm_IRQHandler,Default_Handler - - .weak TIM8_BRK_TIM12_IRQHandler - .thumb_set TIM8_BRK_TIM12_IRQHandler,Default_Handler - - .weak TIM8_UP_TIM13_IRQHandler - .thumb_set TIM8_UP_TIM13_IRQHandler,Default_Handler - - .weak TIM8_TRG_COM_TIM14_IRQHandler - .thumb_set TIM8_TRG_COM_TIM14_IRQHandler,Default_Handler - - .weak TIM8_CC_IRQHandler - .thumb_set TIM8_CC_IRQHandler,Default_Handler - - .weak DMA1_Stream7_IRQHandler - .thumb_set DMA1_Stream7_IRQHandler,Default_Handler - - .weak FMC_IRQHandler - .thumb_set FMC_IRQHandler,Default_Handler - - .weak SDMMC1_IRQHandler - .thumb_set SDMMC1_IRQHandler,Default_Handler - - .weak TIM5_IRQHandler - .thumb_set TIM5_IRQHandler,Default_Handler - - .weak SPI3_IRQHandler - .thumb_set SPI3_IRQHandler,Default_Handler - - .weak UART4_IRQHandler - .thumb_set UART4_IRQHandler,Default_Handler - - .weak UART5_IRQHandler - .thumb_set UART5_IRQHandler,Default_Handler - - .weak TIM6_DAC_IRQHandler - .thumb_set TIM6_DAC_IRQHandler,Default_Handler - - .weak TIM7_IRQHandler - .thumb_set TIM7_IRQHandler,Default_Handler - - .weak DMA2_Stream0_IRQHandler - .thumb_set DMA2_Stream0_IRQHandler,Default_Handler - - .weak DMA2_Stream1_IRQHandler - .thumb_set DMA2_Stream1_IRQHandler,Default_Handler - - .weak DMA2_Stream2_IRQHandler - .thumb_set DMA2_Stream2_IRQHandler,Default_Handler - - .weak DMA2_Stream3_IRQHandler - .thumb_set DMA2_Stream3_IRQHandler,Default_Handler - - .weak DMA2_Stream4_IRQHandler - .thumb_set DMA2_Stream4_IRQHandler,Default_Handler - - .weak ETH_IRQHandler - .thumb_set ETH_IRQHandler,Default_Handler - - .weak ETH_WKUP_IRQHandler - .thumb_set ETH_WKUP_IRQHandler,Default_Handler - - .weak FDCAN_CAL_IRQHandler - .thumb_set FDCAN_CAL_IRQHandler,Default_Handler - - .weak DMA2_Stream5_IRQHandler - .thumb_set DMA2_Stream5_IRQHandler,Default_Handler - - .weak DMA2_Stream6_IRQHandler - .thumb_set DMA2_Stream6_IRQHandler,Default_Handler - - .weak DMA2_Stream7_IRQHandler - .thumb_set DMA2_Stream7_IRQHandler,Default_Handler - - .weak USART6_IRQHandler - .thumb_set USART6_IRQHandler,Default_Handler - - .weak I2C3_EV_IRQHandler - .thumb_set I2C3_EV_IRQHandler,Default_Handler - - .weak I2C3_ER_IRQHandler - .thumb_set I2C3_ER_IRQHandler,Default_Handler - - .weak OTG_HS_EP1_OUT_IRQHandler - .thumb_set OTG_HS_EP1_OUT_IRQHandler,Default_Handler - - .weak OTG_HS_EP1_IN_IRQHandler - .thumb_set OTG_HS_EP1_IN_IRQHandler,Default_Handler - - .weak OTG_HS_WKUP_IRQHandler - .thumb_set OTG_HS_WKUP_IRQHandler,Default_Handler - - .weak OTG_HS_IRQHandler - .thumb_set OTG_HS_IRQHandler,Default_Handler - - .weak DCMI_IRQHandler - .thumb_set DCMI_IRQHandler,Default_Handler - - .weak RNG_IRQHandler - .thumb_set RNG_IRQHandler,Default_Handler - - .weak FPU_IRQHandler - .thumb_set FPU_IRQHandler,Default_Handler - - .weak UART7_IRQHandler - .thumb_set UART7_IRQHandler,Default_Handler - - .weak UART8_IRQHandler - .thumb_set UART8_IRQHandler,Default_Handler - - .weak SPI4_IRQHandler - .thumb_set SPI4_IRQHandler,Default_Handler - - .weak SPI5_IRQHandler - .thumb_set SPI5_IRQHandler,Default_Handler - - .weak SPI6_IRQHandler - .thumb_set SPI6_IRQHandler,Default_Handler - - .weak SAI1_IRQHandler - .thumb_set SAI1_IRQHandler,Default_Handler - - .weak LTDC_IRQHandler - .thumb_set LTDC_IRQHandler,Default_Handler - - .weak LTDC_ER_IRQHandler - .thumb_set LTDC_ER_IRQHandler,Default_Handler - - .weak DMA2D_IRQHandler - .thumb_set DMA2D_IRQHandler,Default_Handler - - .weak SAI2_IRQHandler - .thumb_set SAI2_IRQHandler,Default_Handler - - .weak QUADSPI_IRQHandler - .thumb_set QUADSPI_IRQHandler,Default_Handler - - .weak LPTIM1_IRQHandler - .thumb_set LPTIM1_IRQHandler,Default_Handler - - .weak CEC_IRQHandler - .thumb_set CEC_IRQHandler,Default_Handler - - .weak I2C4_EV_IRQHandler - .thumb_set I2C4_EV_IRQHandler,Default_Handler - - .weak I2C4_ER_IRQHandler - .thumb_set I2C4_ER_IRQHandler,Default_Handler - - .weak SPDIF_RX_IRQHandler - .thumb_set SPDIF_RX_IRQHandler,Default_Handler - - .weak OTG_FS_EP1_OUT_IRQHandler - .thumb_set OTG_FS_EP1_OUT_IRQHandler,Default_Handler - - .weak OTG_FS_EP1_IN_IRQHandler - .thumb_set OTG_FS_EP1_IN_IRQHandler,Default_Handler - - .weak OTG_FS_WKUP_IRQHandler - .thumb_set OTG_FS_WKUP_IRQHandler,Default_Handler - - .weak OTG_FS_IRQHandler - .thumb_set OTG_FS_IRQHandler,Default_Handler - - .weak DMAMUX1_OVR_IRQHandler - .thumb_set DMAMUX1_OVR_IRQHandler,Default_Handler - - .weak HRTIM1_Master_IRQHandler - .thumb_set HRTIM1_Master_IRQHandler,Default_Handler - - .weak HRTIM1_TIMA_IRQHandler - .thumb_set HRTIM1_TIMA_IRQHandler,Default_Handler - - .weak HRTIM1_TIMB_IRQHandler - .thumb_set HRTIM1_TIMB_IRQHandler,Default_Handler - - .weak HRTIM1_TIMC_IRQHandler - .thumb_set HRTIM1_TIMC_IRQHandler,Default_Handler - - .weak HRTIM1_TIMD_IRQHandler - .thumb_set HRTIM1_TIMD_IRQHandler,Default_Handler - - .weak HRTIM1_TIME_IRQHandler - .thumb_set HRTIM1_TIME_IRQHandler,Default_Handler - - .weak HRTIM1_FLT_IRQHandler - .thumb_set HRTIM1_FLT_IRQHandler,Default_Handler - - .weak DFSDM1_FLT0_IRQHandler - .thumb_set DFSDM1_FLT0_IRQHandler,Default_Handler - - .weak DFSDM1_FLT1_IRQHandler - .thumb_set DFSDM1_FLT1_IRQHandler,Default_Handler - - .weak DFSDM1_FLT2_IRQHandler - .thumb_set DFSDM1_FLT2_IRQHandler,Default_Handler - - .weak DFSDM1_FLT3_IRQHandler - .thumb_set DFSDM1_FLT3_IRQHandler,Default_Handler - - .weak SAI3_IRQHandler - .thumb_set SAI3_IRQHandler,Default_Handler - - .weak SWPMI1_IRQHandler - .thumb_set SWPMI1_IRQHandler,Default_Handler - - .weak TIM15_IRQHandler - .thumb_set TIM15_IRQHandler,Default_Handler - - .weak TIM16_IRQHandler - .thumb_set TIM16_IRQHandler,Default_Handler - - .weak TIM17_IRQHandler - .thumb_set TIM17_IRQHandler,Default_Handler - - .weak MDIOS_WKUP_IRQHandler - .thumb_set MDIOS_WKUP_IRQHandler,Default_Handler - - .weak MDIOS_IRQHandler - .thumb_set MDIOS_IRQHandler,Default_Handler - - .weak JPEG_IRQHandler - .thumb_set JPEG_IRQHandler,Default_Handler - - .weak MDMA_IRQHandler - .thumb_set MDMA_IRQHandler,Default_Handler - - .weak SDMMC2_IRQHandler - .thumb_set SDMMC2_IRQHandler,Default_Handler - - .weak HSEM1_IRQHandler - .thumb_set HSEM1_IRQHandler,Default_Handler - - .weak ADC3_IRQHandler - .thumb_set ADC3_IRQHandler,Default_Handler - - .weak DMAMUX2_OVR_IRQHandler - .thumb_set DMAMUX2_OVR_IRQHandler,Default_Handler - - .weak BDMA_Channel0_IRQHandler - .thumb_set BDMA_Channel0_IRQHandler,Default_Handler - - .weak BDMA_Channel1_IRQHandler - .thumb_set BDMA_Channel1_IRQHandler,Default_Handler - - .weak BDMA_Channel2_IRQHandler - .thumb_set BDMA_Channel2_IRQHandler,Default_Handler - - .weak BDMA_Channel3_IRQHandler - .thumb_set BDMA_Channel3_IRQHandler,Default_Handler - - .weak BDMA_Channel4_IRQHandler - .thumb_set BDMA_Channel4_IRQHandler,Default_Handler - - .weak BDMA_Channel5_IRQHandler - .thumb_set BDMA_Channel5_IRQHandler,Default_Handler - - .weak BDMA_Channel6_IRQHandler - .thumb_set BDMA_Channel6_IRQHandler,Default_Handler - - .weak BDMA_Channel7_IRQHandler - .thumb_set BDMA_Channel7_IRQHandler,Default_Handler - - .weak COMP1_IRQHandler - .thumb_set COMP1_IRQHandler,Default_Handler - - .weak LPTIM2_IRQHandler - .thumb_set LPTIM2_IRQHandler,Default_Handler - - .weak LPTIM3_IRQHandler - .thumb_set LPTIM3_IRQHandler,Default_Handler - - .weak LPTIM4_IRQHandler - .thumb_set LPTIM4_IRQHandler,Default_Handler - - .weak LPTIM5_IRQHandler - .thumb_set LPTIM5_IRQHandler,Default_Handler - - .weak LPUART1_IRQHandler - .thumb_set LPUART1_IRQHandler,Default_Handler - - .weak CRS_IRQHandler - .thumb_set CRS_IRQHandler,Default_Handler - - .weak ECC_IRQHandler - .thumb_set ECC_IRQHandler,Default_Handler - - .weak SAI4_IRQHandler - .thumb_set SAI4_IRQHandler,Default_Handler - - .weak WAKEUP_PIN_IRQHandler - .thumb_set WAKEUP_PIN_IRQHandler,Default_Handler - -/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ - diff --git a/firmware/hw_layer/stepper.cpp b/firmware/hw_layer/stepper.cpp index 036eca5f9b..54cf8c199b 100644 --- a/firmware/hw_layer/stepper.cpp +++ b/firmware/hw_layer/stepper.cpp @@ -167,7 +167,7 @@ void StepDirectionStepper::setDirection(bool isIncrementing) { m_currentDirection = isIncrementing; } - directionPin.setValue(isIncrementing); + m_directionPin.setValue(isIncrementing); } bool StepDirectionStepper::pulse() { @@ -175,15 +175,15 @@ bool StepDirectionStepper::pulse() { if (!engine->isMainRelayEnabled()) return false; - enablePin.setValue(false); // enable stepper + m_enablePin.setValue(false); // enable stepper - stepPin.setValue(true); + m_stepPin.setValue(true); pause(); - stepPin.setValue(false); + m_stepPin.setValue(false); pause(); - enablePin.setValue(true); // disable stepper + m_enablePin.setValue(true); // disable stepper return true; } @@ -213,25 +213,25 @@ void StepperMotor::initialize(StepperHw *hardware, int totalSteps) { } void StepDirectionStepper::initialize(brain_pin_e stepPin, brain_pin_e directionPin, pin_output_mode_e directionPinMode, float reactionTime, brain_pin_e enablePin, pin_output_mode_e enablePinMode) { + // avoid double-init + m_directionPin.deInit(); + m_stepPin.deInit(); + m_enablePin.deInit(); + if (!isBrainPinValid(stepPin) || !isBrainPinValid(directionPin)) { return; } setReactionTime(reactionTime); - this->directionPinMode = directionPinMode; - this->directionPin.initPin("Stepper DIR", directionPin, this->directionPinMode); - - this->stepPinMode = OM_DEFAULT; // todo: do we need configurable stepPinMode? - this->stepPin.initPin("Stepper step", stepPin, this->stepPinMode); - - this->enablePinMode = enablePinMode; - this->enablePin.initPin("Stepper EN", enablePin, this->enablePinMode); + m_directionPin.initPin("Stepper DIR", directionPin, directionPinMode); + m_stepPin.initPin("Stepper step", stepPin); + m_enablePin.initPin("Stepper EN", enablePin, enablePinMode); // All pins must be 0 for correct hardware startup (e.g. stepper auto-disabling circuit etc.). - this->enablePin.setValue(true); // disable stepper - this->stepPin.setValue(false); - this->directionPin.setValue(false); + m_enablePin.setValue(true); // disable stepper + m_stepPin.setValue(false); + m_directionPin.setValue(false); m_currentDirection = false; } diff --git a/firmware/hw_layer/stepper.h b/firmware/hw_layer/stepper.h index 43e5d70892..83cf59844f 100644 --- a/firmware/hw_layer/stepper.h +++ b/firmware/hw_layer/stepper.h @@ -39,8 +39,7 @@ class StepDirectionStepper final : public StepperHw { bool m_currentDirection = false; - OutputPin directionPin, stepPin, enablePin; - pin_output_mode_e directionPinMode, stepPinMode, enablePinMode; + OutputPin m_directionPin, m_stepPin, m_enablePin; }; class DcMotor; diff --git a/firmware/init/sensor/init_flex.cpp b/firmware/init/sensor/init_flex.cpp index b812be6240..be106a879f 100644 --- a/firmware/init/sensor/init_flex.cpp +++ b/firmware/init/sensor/init_flex.cpp @@ -1,19 +1,89 @@ #include "pch.h" #include "init.h" -#include "frequency_sensor.h" +#include "functional_sensor.h" #include "flex_sensor.h" -static FrequencySensor flexSensor(SensorType::FuelEthanolPercent, MS2NT(500)); +#include "digital_input_exti.h" + +static FunctionalSensor flexSensor(SensorType::FuelEthanolPercent, MS2NT(500)); +static StoredValueSensor flexFuelTemp(SensorType::FuelTemperature, MS2NT(500)); static FlexConverter converter; +static Biquad flexTempFilter; + +static Timer flexFreq, flexPulse; + +static void flexCallback(efitick_t nowNt, bool value) { + if (value) { + float frequency = 1 / flexFreq.getElapsedSecondsAndReset(nowNt); + flexSensor.postRawValue(frequency, nowNt); + + // Start timing pulse width on rising edge + flexPulse.reset(nowNt); + } else { + // End pulse timing on falling edge + float pulseWidthUs = flexPulse.getElapsedUs(nowNt); + + if (pulseWidthUs < 900) { + flexFuelTemp.invalidate(UnexpectedCode::Low); + } else if (pulseWidthUs > 5100) { + flexFuelTemp.invalidate(UnexpectedCode::High); + } else { + // -40C = 1000us + // 125C = 5000us + float tempC = interpolateClamped(1000, -40, 5000, 125, pulseWidthUs); + tempC = flexTempFilter.filter(tempC); + flexFuelTemp.setValidValue(tempC, nowNt); + } + } +} + +static Gpio flexPin = Gpio::Unassigned; + +static void flexCallback(void*, efitick_t nowNt) { +#if EFI_PROD_CODE + flexCallback(nowNt, efiReadPin(flexPin)); +#endif +} + // https://rusefi.com/forum/viewtopic.php?p=37452&sid=829804c90d5b2e1fecd1b900cf1b1811#p37452 void initFlexSensor() { + flexPin = engineConfiguration->flexSensorPin; + if (!isBrainPinValid(flexPin)) { + return; + } + // 0.01 means filter bandwidth of ~1hz with ~100hz sensor - flexSensor.initIfValid(engineConfiguration->flexSensorPin, converter, 0.01f); + flexTempFilter.configureLowpass(1, 0.01f); + flexSensor.setFunction(converter); + +#if EFI_PROD_CODE + efiExtiEnablePin("flex", flexPin, + PAL_EVENT_MODE_BOTH_EDGES, + flexCallback, nullptr); +#endif // EFI_PROD_CODE + + flexSensor.Register(); + + // If an analog fuel temp sensor is configured, don't use the flex sensor for fuel temp + if (!isAdcChannelValid(engineConfiguration->fuelTempSensor.adcChannel)) { + flexFuelTemp.Register(); + } } void deInitFlexSensor() { - flexSensor.deInit(); + flexSensor.unregister(); + flexFuelTemp.unregister(); + + if (!isBrainPinValid(flexPin)) { + return; + } + +#if EFI_PROD_CODE + efiExtiDisablePin(flexPin); +#endif + + flexPin = Gpio::Unassigned; } diff --git a/firmware/init/sensor/init_map.cpp b/firmware/init/sensor/init_map.cpp index 89522e6ea1..2a648dc2d4 100644 --- a/firmware/init/sensor/init_map.cpp +++ b/firmware/init/sensor/init_map.cpp @@ -14,6 +14,8 @@ static FunctionalSensor baroSensor(SensorType::BarometricPressure, MS2NT(50)); static LinearFunc mapConverter; static FunctionalSensor slowMapSensor(SensorType::MapSlow, MS2NT(50)); static FunctionalSensor slowMapSensor2(SensorType::MapSlow2, MS2NT(50)); +static FunctionalSensor compressorDischargePress(SensorType::CompressorDischargePressure, MS2NT(50)); +static FunctionalSensor throttleInletPress(SensorType::ThrottleInletPressure, MS2NT(50)); // lowest reasonable idle is maybe 600 rpm // one sample per cycle (1 cylinder, or "sample one cyl" mode) gives a period of 100ms @@ -96,16 +98,18 @@ void configureMapFunction(LinearFunc& converter, air_pressure_sensor_type_e sens } void initMap() { - auto mapChannel = engineConfiguration->map.sensor.hwChannel; - if (isAdcChannelValid(mapChannel)) { - // Set up the conversion function - configureMapFunction(mapConverter, engineConfiguration->map.sensor.type); + // Set up the conversion function + configureMapFunction(mapConverter, engineConfiguration->map.sensor.type); - slowMapSensor.setFunction(mapConverter); - slowMapSensor2.setFunction(mapConverter); - fastMapSensor.setFunction(mapConverter); - fastMapSensor2.setFunction(mapConverter); + slowMapSensor.setFunction(mapConverter); + slowMapSensor2.setFunction(mapConverter); + fastMapSensor.setFunction(mapConverter); + fastMapSensor2.setFunction(mapConverter); + compressorDischargePress.setFunction(mapConverter); + throttleInletPress.setFunction(mapConverter); + auto mapChannel = engineConfiguration->map.sensor.hwChannel; + if (isAdcChannelValid(mapChannel)) { slowMapSensor.Register(); slowMapSensor2.Register(); fastMapSensor.Register(); @@ -117,6 +121,9 @@ void initMap() { AdcSubscription::SubscribeSensor(slowMapSensor, mapChannel, 100); } + AdcSubscription::SubscribeSensor(throttleInletPress, engineConfiguration->throttleInletPressureChannel, 100); + AdcSubscription::SubscribeSensor(compressorDischargePress, engineConfiguration->compressorDischargePressureChannel, 100); + auto baroChannel = engineConfiguration->baroSensor.hwChannel; if (isAdcChannelValid(baroChannel)) { configureMapFunction(baroConverter, engineConfiguration->baroSensor.type); @@ -131,4 +138,6 @@ void initMap() { void deinitMap() { AdcSubscription::UnsubscribeSensor(slowMapSensor, engineConfiguration->map.sensor.hwChannel); AdcSubscription::UnsubscribeSensor(baroSensor, engineConfiguration->baroSensor.hwChannel); + AdcSubscription::UnsubscribeSensor(throttleInletPress, engineConfiguration->throttleInletPressureChannel); + AdcSubscription::UnsubscribeSensor(compressorDischargePress, engineConfiguration->compressorDischargePressureChannel); } diff --git a/firmware/init/sensor/init_thermistors.cpp b/firmware/init/sensor/init_thermistors.cpp index 83e3a35bc4..d3d66b75f4 100644 --- a/firmware/init/sensor/init_thermistors.cpp +++ b/firmware/init/sensor/init_thermistors.cpp @@ -19,9 +19,14 @@ struct FuncPair { static CCM_OPTIONAL FunctionalSensor clt(SensorType::Clt, MS2NT(10)); static CCM_OPTIONAL FunctionalSensor iat(SensorType::Iat, MS2NT(10)); static CCM_OPTIONAL FunctionalSensor aux1(SensorType::AuxTemp1, MS2NT(10)); -static FunctionalSensor aux2(SensorType::AuxTemp2, MS2NT(10)); +static CCM_OPTIONAL FunctionalSensor aux2(SensorType::AuxTemp2, MS2NT(10)); -static FuncPair fclt, fiat, faux1, faux2; +static CCM_OPTIONAL FunctionalSensor oilTempSensor(SensorType::OilTemperature, MS2NT(10)); +static CCM_OPTIONAL FunctionalSensor fuelTempSensor(SensorType::FuelTemperature, MS2NT(10)); +static CCM_OPTIONAL FunctionalSensor ambientTempSensor(SensorType::AmbientTemperature, MS2NT(10)); +static CCM_OPTIONAL FunctionalSensor compressorDischargeTemp(SensorType::CompressorDischargeTemperature, MS2NT(10)); + +static FuncPair fclt, fiat, faux1, faux2, foil, ffuel, fambient, fcdt; static void validateThermistorConfig(const char *msg, thermistor_conf_s& cfg) { if (cfg.tempC_1 >= cfg.tempC_2 || @@ -53,32 +58,32 @@ static SensorConverter& configureTempSensorFunction(const char *msg, static void configTherm(const char *msg, FunctionalSensor &sensor, FuncPair &p, - ThermistorConf &config, + ThermistorConf &cfg, bool isLinear, bool isPulldown) { // nothing to do if no channel - if (!isAdcChannelValid(config.adcChannel)) { + if (!isAdcChannelValid(cfg.adcChannel)) { return; } // Configure the conversion function for this sensor - sensor.setFunction(configureTempSensorFunction(msg, config.config, p, isLinear, isPulldown)); + sensor.setFunction(configureTempSensorFunction(msg, cfg.config, p, isLinear, isPulldown)); } static void configureTempSensor(const char *msg, FunctionalSensor &sensor, FuncPair &p, - ThermistorConf &config, + ThermistorConf &cfg, bool isLinear, bool isPulldown = false) { - auto channel = config.adcChannel; + auto channel = cfg.adcChannel; // Only register if we have a sensor if (!isAdcChannelValid(channel)) { return; } - configTherm(msg, sensor, p, config, isLinear, isPulldown); + configTherm(msg, sensor, p, cfg, isLinear, isPulldown); // Register & subscribe AdcSubscription::SubscribeSensor(sensor, channel, 2); @@ -100,6 +105,30 @@ void initThermistors() { engineConfiguration->useLinearIatSensor, engineConfiguration->iatSensorPulldown); + configureTempSensor("oil temp", + oilTempSensor, + faux2, + engineConfiguration->oilTempSensor, + false); + + configureTempSensor("fuel temp", + fuelTempSensor, + ffuel, + engineConfiguration->fuelTempSensor, + false); + + configureTempSensor("ambient temp", + ambientTempSensor, + fambient, + engineConfiguration->ambientTempSensor, + false); + + configureTempSensor("compressor discharge temp", + compressorDischargeTemp, + fcdt, + engineConfiguration->compressorDischargeTemperature, + false); + configureTempSensor("aux1", aux1, faux1, @@ -116,6 +145,10 @@ void initThermistors() { void deinitThermistors() { AdcSubscription::UnsubscribeSensor(clt, engineConfiguration->clt.adcChannel); AdcSubscription::UnsubscribeSensor(iat, engineConfiguration->iat.adcChannel); + AdcSubscription::UnsubscribeSensor(oilTempSensor, engineConfiguration->oilTempSensor.adcChannel); + AdcSubscription::UnsubscribeSensor(fuelTempSensor, engineConfiguration->fuelTempSensor.adcChannel); + AdcSubscription::UnsubscribeSensor(ambientTempSensor, engineConfiguration->ambientTempSensor.adcChannel); + AdcSubscription::UnsubscribeSensor(compressorDischargeTemp, engineConfiguration->compressorDischargeTemperature.adcChannel); AdcSubscription::UnsubscribeSensor(aux1, engineConfiguration->auxTempSensor1.adcChannel); AdcSubscription::UnsubscribeSensor(aux2, engineConfiguration->auxTempSensor2.adcChannel); } diff --git a/firmware/integration/LiveData.yaml b/firmware/integration/LiveData.yaml index 3e05b616a8..5fd17335f5 100644 --- a/firmware/integration/LiveData.yaml +++ b/firmware/integration/LiveData.yaml @@ -32,7 +32,10 @@ Usages: - name: knock_controller folder: controllers/engine_cycle + prepend: integration/rusefi_config_shared.txt output_name: knock + constexpr: "___engine.module()" + isPtr: true - name: high_pressure_fuel_pump folder: controllers/engine_cycle @@ -56,7 +59,8 @@ Usages: folder: controllers/actuators prepend: integration/rusefi_config_shared.txt output_name: boost - constexpr: "engine->boostController" + constexpr: "___engine.module()" + isPtr: true conditional_compilation: "EFI_BOOST_CONTROL" - name: ac_control @@ -95,6 +99,7 @@ Usages: folder: controllers/trigger withCDefines: true constexpr: "engine->triggerCentral" + conditional_compilation: "EFI_SHAFT_POSITION_INPUT" - name: trigger_state folder: controllers/trigger @@ -139,6 +144,7 @@ Usages: folder: controllers/actuators constexpr: "___engine.module()" isPtr: true + conditional_compilation: "EFI_VVT_PID" - name: lambda_monitor folder: controllers/math diff --git a/firmware/integration/rusefi_config.txt b/firmware/integration/rusefi_config.txt index e180f347db..dd34e49531 100644 --- a/firmware/integration/rusefi_config.txt +++ b/firmware/integration/rusefi_config.txt @@ -92,7 +92,7 @@ ! Any time an incompatible change is made to the configuration format stored in flash, ! update this string to the current date! It is required to also update TS_SIGNATURE above ! when this happens. -#define FLASH_DATA_VERSION 20011 +#define FLASH_DATA_VERSION 20013 ! this offset is part of console compatibility mechanism, please DO NOT change this offset #define TS_FILE_VERSION_OFFSET 124 @@ -270,7 +270,7 @@ end_struct #define debug_mode_e_enum "INVALID", "TPS acceleration enrichment", "INVALID", "Stepper Idle Control", "Engine Load accl enrich", "Trigger Counters", "Soft Spark Cut", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "SD card", "sr5", "Knock", "INVALID", "Electronic Throttle", "Executor", "Bench Test / TS commands", "INVALID", "Analog inputs #1", "INSTANT_RPM", "INVALID", "Status", "INVALID", "INVALID", "MAP", "Metrics", "INVALID", "Ion Sense", "TLE8888", "Analog inputs #2", "Dwell Metric", "INVALID", "INVALID", "Boost Control", "INVALID", "INVALID", "ETB Autotune", "Composite Log", "INVALID", "INVALID", "INVALID", "Dyno_View", "Logic_Analyzer", "INVALID", "TCU", "Lua" custom debug_mode_e 1 bits, U08, @OFFSET@, [0:5], @@debug_mode_e_enum@@ -#define vvt_mode_e_enum "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +#define vvt_mode_e_enum "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" custom vvt_mode_e 1 bits, U08, @OFFSET@, [0:5], @@vvt_mode_e_enum@@ ! At the moment TIM1, TIM2, TIM3 and TIM9 are configured as ICU @@ -415,7 +415,7 @@ bit disableFan2WhenStopped;Inhibit operation of this fan while the engine is not bit enableTrailingSparks;Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines). bit etb_use_two_wires;TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode. bit isDoubleSolenoidIdle;Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position. -bit useEeprom +bit unused88b11 bit useTLE8888_cranking_hack; bit kickStartCranking bit useSeparateIdleTablesForCrankingTaper;This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration). @@ -425,7 +425,7 @@ bit antiLagEnabled; bit useRunningMathForCranking,"Fuel Map","Fixed";For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table). bit useTLE8888_stepper bit usescriptTableForCanSniffingFiltering -bit verboseCan,"Print all","Do not print";Print incoming and outgoing first bus CAN messages in rusEFI console +bit verboseCan,"Print all","Do not print";Print incoming and outgoing first bus CAN messages in FOME console bit artificialTestMisfire,"Danger Mode","No thank you";Experimental setting that will cause a misfire\nDO NOT ENABLE. 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. bit cltSensorPulldown @@ -450,7 +450,7 @@ ThermistorConf clt;todo: merge with channel settings, use full-scale Thermistor ThermistorConf iat; int launchTimingRetard;;"deg", 1, 0, -180, 180, 2 - float knockBandCustom;We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override;"kHz", 1, 0, 0, 20, 2 + float knockBandCustom;We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect;"kHz", 1, 0, 0, 20, 2 uint16_t autoscale displacement;Engine displacement in litres;"L", 0.001, 0, 0, 65, 3 @@ -467,7 +467,7 @@ uint32_t cylindersCount;Number of cylinder the engine has.;"", 1, 0, 1, @@MAX_CY custom firing_order_e 1 bits, U08, @OFFSET@, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" firing_order_e firingOrder; -uint8_t unusedOldBenchTest +uint8_t vvtBumpAmount;;"deg", 1, 0, -30, 30, 0 uint16_t autoscale benchTestOnTime;Duration of each test pulse;"ms", 0.01, 0, 0, 500, 2 float cylinderBore;Cylinder diameter in mm.;"mm", 1, 0, 0, 20000, 2 @@ -696,13 +696,13 @@ bit is_enabled_spi_1 bit is_enabled_spi_2 bit is_enabled_spi_3 bit isSdCardEnabled;enable sd/disable sd - bit rusefiVerbose29b,"29 bit","11 bit";Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format. + bit rusefiVerbose29b,"29 bit","11 bit";Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format. bit isVerboseAlternator bit useStepperIdle;This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed. bit enabledStep1Limiter bit verboseTLE8888 - bit enableVerboseCanTx;CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast + bit enableVerboseCanTx;CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast bit etb1configured bit etb2configured bit measureMapOnlyInOneCylinder;Useful for individual intakes @@ -786,11 +786,7 @@ custom uart_device_e 1 bits, U08, @OFFSET@, [0:1], "Off", "UART1", "UART2", "UAR pin_output_mode_e acRelayPinMode; output_pin_e acRelayPin; - -#define maf_sensor_type_e_enum "v0", "v1", "v2", "v3" -custom maf_sensor_type_e 1 bits, S08, @OFFSET@, [0:1], @@maf_sensor_type_e_enum@@ - - maf_sensor_type_e mafSensorType; + uint8_t unused754 spi_device_e drv8860spiDevice; @@ -830,8 +826,6 @@ sensor_chart_e sensorChartMode;rusEFI console Sensor Sniffer mode; custom vehicle_info_t @@VEHICLE_INFO_SIZE@@ string, ASCII, @OFFSET@, @@VEHICLE_INFO_SIZE@@ custom gppwm_note_t @@GPPWM_NOTE_SIZE@@ string, ASCII, @OFFSET@, @@GPPWM_NOTE_SIZE@@ - custom error_message_t @@ERROR_BUFFER_SIZE@@ string, ASCII, @OFFSET@, @@ERROR_BUFFER_SIZE@@ - bit clutchUpPinInverted bit clutchDownPinInverted bit useHbridgesToDriveIdleStepper;If enabled we use two H-bridges to drive stepper idle air valve @@ -839,12 +833,12 @@ sensor_chart_e sensorChartMode;rusEFI console Sensor Sniffer mode; bit enableLaunchRetard bit enableCanVss;Read VSS from OEM CAN bus according to selected CAN vehicle configuration. bit enableInnovateLC2 - bit showHumanReadableWarning + bit unused808b7 bit stftIgnoreErrorMagnitude;If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise. bit enableSoftwareKnock bit verboseVVTDecoding;Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details bit invertCamVVTSignal;get invertCamVVTSignal - bit unused804b12 + bit alphaNUseIat;In Alpha-N mode, compensate for air temperature. bit knockBankCyl1,"Channel 2","Channel 1" bit knockBankCyl2,"Channel 2","Channel 1" bit knockBankCyl3,"Channel 2","Channel 1" @@ -860,7 +854,7 @@ sensor_chart_e sensorChartMode;rusEFI console Sensor Sniffer mode; bit tcuEnabled bit canBroadcastUseChannelTwo,"second","first" bit useRawOutputToDriveIdleStepper;If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss -bit verboseCan2,"Print all","Do not print";Print incoming and outgoing second bus CAN messages in rusEFI console +bit verboseCan2,"Print all","Do not print";Print incoming and outgoing second bus CAN messages in FOME console dc_io[ETB_COUNT iterate] etbIo @@ -901,9 +895,9 @@ bit verboseCan2,"Print all","Do not print";Print incoming and outgoing second bu dc_io[DC_PER_STEPPER iterate] stepperDcIo - vehicle_info_t engineMake;For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online - vehicle_info_t engineCode;For example, LS1 or NB2\nREQUIRED for rusEFI Online - vehicle_info_t vehicleName;For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online + vehicle_info_t engineMake;For example, BMW, GM or Chevrolet + vehicle_info_t engineCode;For example, LS1 or NB2 + vehicle_info_t vehicleName;For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles. output_pin_e[TCU_SOLENOID_COUNT iterate] tcu_solenoid; @@ -943,7 +937,7 @@ end_struct bit widebandOnSecondBus,"2","1";Select which bus the wideband controller is attached to. bit fuelClosedLoopCorrectionEnabled;Enables lambda sensor closed loop feedback for fuelling. - bit isVerboseIAC;Print details into rusEFI console\nenable verbose_idle + bit unused1192b2 bit boardUseTachPullUp,"12v","5v" bit boardUseTempPullUp,"With Pull Ups","Piggyback Mode" bit yesUnderstandLocking,"yes","no" @@ -955,8 +949,8 @@ end_struct bit boardUse2stepPullDown,"With Pull Down","With Pull Up" bit tachPulseDurationAsDutyCycle,"Duty cycle","Constant time";Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50% bit isAlternatorControlEnabled;This enables smart alternator control and activates the extra alternator settings. - bit invertPrimaryTriggerSignal;https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor. - bit invertSecondaryTriggerSignal;https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor. + bit invertPrimaryTriggerSignal;Invert the signal from the primary trigger sensor. + bit invertSecondaryTriggerSignal;Invert the signal from the secondary trigger sensor. bit cutFuelOnHardLimit,"yes","no" bit cutSparkOnHardLimit,"yes","no";Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer. @@ -1098,7 +1092,7 @@ int16_t tps2Max;;"ADC", 1, 0, 0, 1023, 0 custom InjectionTimingMode 1 bits, U08, @OFFSET@, [0:1], "End of injection", "Start of injection", "Center of injection" InjectionTimingMode injectionTimingMode;Sets what part of injection's is controlled by the injection phase table. - debug_mode_e debugMode;See http://rusefi.com/s/debugmode + debug_mode_e debugMode;See https://wiki.fome.tech/r/debugmode uint8_t fan1ExtraIdle;Additional idle % when fan #1 is active;"%", 1, 0, 0, 100, 0 uint32_t uartConsoleSerialSpeed;Band rate for primary TTL;"BPs", 1, 0, 0, 1000000, 0 @@ -1475,7 +1469,24 @@ pin_input_mode_e[LUA_DIGITAL_INPUT_COUNT iterate] luaDigitalInputPinModes; uint8_t ignTestCount;How many test bench pulses do you want;"", 1, 0, 0, 50, 0 uint8_t autoscale ignTestOffTime;Time between bench test pulses;"ms", 5, 0, 0, 2000, 0 -uint8_t[93] mainUnusedEnd;;"units", 1, 0, 0, 1, 0 + uint16_t autoscale canVssScaling;Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead.;"ratio", 0.0001, 0, 0.5, 1.5, 4 + + ThermistorConf oilTempSensor + ThermistorConf fuelTempSensor + ThermistorConf ambientTempSensor + ThermistorConf compressorDischargeTemperature + + adc_channel_e throttleInletPressureChannel;Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor. + adc_channel_e compressorDischargePressureChannel;Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor. + + uint8_t maxInjectorDutyInstant;If injector duty cycle hits this value, instantly cut fuel.;"%", 1, 0, 50, 200, 0 + uint8_t maxInjectorDutySustained;If injector duty cycle hits this value for the specified delay time, cut fuel.;"%", 1, 0, 50, 120, 0 + uint8_t autoscale maxInjectorDutySustainedTimeout;Timeout period for duty cycle over the sustained limit to trigger duty cycle protection.;"sec", 0.1, 0, 0, 5, 1 + + output_pin_e speedometerOutputPin + uint16_t speedometerPulsePerKm;Number of speedometer pulses per kilometer travelled.;"", 1, 0, 0, 65000, 0 + +uint8_t[246] mainUnusedEnd;;"units", 1, 0, 0, 1, 0 ! end of engine_configuration_s end_struct @@ -1525,8 +1536,6 @@ int16_t[CRANKING_ADVANCE_CURVE_SIZE] autoscale crankingAdvance;Optional timing a uint8_t[CLT_CURVE_SIZE] autoscale iacCoastingRpmBins;RPM-based idle position for coasting;"RPM", 100, 0, 0, 25000, 0 uint8_t[CLT_CURVE_SIZE] autoscale iacCoasting; RPM-based idle position for coasting;"%", 0.5, 0, 0, 100, 1 -error_message_t warning_message; - float[AFTERSTART_HOLD_CURVE_SIZE] afterstartCoolantBins;;"C", 1, 0, -100, 250, 0 float[AFTERSTART_HOLD_CURVE_SIZE] afterstartHoldTime;;"Seconds", 1, 0, 0, 100, 1 float[AFTERSTART_ENRICH_CURVE_SIZE] afterstartEnrich;;"%", 1, 0, 0, 600, 1 @@ -1802,7 +1811,7 @@ end_struct #define PROTOCOL_OUTPIN "outpin" #define PROTOCOL_ANALOG_CHART "analog_chart" #define PROTOCOL_ENGINE_SNIFFER "wave_chart" -#define PROTOCOL_VERSION_TAG "rusEfiVersion" +#define PROTOCOL_VERSION_TAG "fomeVersion" #define PROTOCOL_TEST_RESPONSE_TAG "ts_p_alive" #define PROTOCOL_SIGNATURE_PREFIX "rusEFI " @@ -1819,7 +1828,6 @@ end_struct #define PROTOCOL_VVT2_NAME "VVT2" #define PROTOCOL_VVT3_NAME "VVT3" #define PROTOCOL_VVT4_NAME "VVT4" -#define PROTOCOL_TACH_NAME "tach" #define PROTOCOL_HPFP_NAME "hpfp" #define PROTOCOL_WA_CHANNEL_1 "input1" @@ -1829,7 +1837,7 @@ end_struct #define TS_PROTOCOL "001" -! These commands are used by TunerStudio and the rusEFI console +! These commands are used by TunerStudio and the FOME console ! 0x4F ochGetCommand #define TS_OUTPUT_COMMAND 'O' ! 0x53 queryCommand @@ -1846,6 +1854,10 @@ end_struct ! 0x45 #define TS_EXECUTE 'E' #define TS_ONLINE_PROTOCOL 'z' +#define TS_QUERY_BOOTLOADER 'L' + +#define TS_QUERY_BOOTLOADER_NONE 0 +#define TS_QUERY_BOOTLOADER_OPENBLT 1 ! Performance tracing #define TS_PERF_TRACE_BEGIN '_' @@ -1878,7 +1890,7 @@ end_struct ! Engine Sniffer time stamp unit, in microseconds #define ENGINE_SNIFFER_UNIT_US 10 -! These commands are used exclusively by the rusEFI console +! These commands are used exclusively by the FOME console ! 0x74 #define TS_TEST_COMMAND 't' diff --git a/firmware/integration/rusefi_config_shared.txt b/firmware/integration/rusefi_config_shared.txt index aab2c80394..67c22b8b5a 100644 --- a/firmware/integration/rusefi_config_shared.txt +++ b/firmware/integration/rusefi_config_shared.txt @@ -156,6 +156,8 @@ #define GAUGE_NAME_FUEL_INJECTION_TIMING "Fuel: Injection timing SOI" #define GAUGE_NAME_AFR "Air/Fuel Ratio" #define GAUGE_NAME_AFR2 "Air/Fuel Ratio 2" +#define GAUGE_NAME_AFR_GAS_SCALE "Air/Fuel Ratio (Gas Scale)" +#define GAUGE_NAME_AFR2_GAS_SCALE "Air/Fuel Ratio 2 (Gas Scale)" #define GAUGE_NAME_LAMBDA "Lambda" #define GAUGE_NAME_LAMBDA2 "Lambda 2" #define GAUGE_NAME_IAC "Idle: Position" diff --git a/firmware/rusefi.cpp b/firmware/rusefi.cpp index 3acbd0b5f5..58d6a0e2cc 100644 --- a/firmware/rusefi.cpp +++ b/firmware/rusefi.cpp @@ -191,6 +191,10 @@ void runRusEfi() { addConsoleAction(CMD_REBOOT, scheduleReboot); addConsoleAction(CMD_REBOOT_DFU, jump_to_bootloader); +#if EFI_USE_OPENBLT + addConsoleAction(CMD_REBOOT_OPENBLT, jump_to_openblt); +#endif + /** * we need to initialize table objects before default configuration can set values */ @@ -268,7 +272,6 @@ void runRusEfiWithConfig() { // Config could be completely bogus - don't start anything else! if (validateConfig()) { - initStatusLoop(); /** * Now let's initialize actual engine control logic * todo: should we initialize some? most? controllers before hardware? diff --git a/firmware/rusefi_rules.mk b/firmware/rusefi_rules.mk index e23f9fb865..89462d1fdc 100644 --- a/firmware/rusefi_rules.mk +++ b/firmware/rusefi_rules.mk @@ -1,5 +1,10 @@ # Warnings-as-errors... RUSEFI_OPT = -Werror +RUSEFI_CPPOPT = -Werror=shadow # ...except these few -RUSEFI_OPT += -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=sign-compare -Wno-error=unused-parameter +RUSEFI_OPT += -Wno-error=unused-function +RUSEFI_OPT += -Wno-error=sign-compare +RUSEFI_OPT += -Wno-error=unused-parameter +RUSEFI_OPT += -Wno-error=undef +RUSEFI_OPT += -Wno-error=stringop-overflow diff --git a/firmware/tunerstudio/generated/fome.ini b/firmware/tunerstudio/generated/fome.ini index 0286aebbc9..7a66aeb25f 100644 --- a/firmware/tunerstudio/generated/fome.ini +++ b/firmware/tunerstudio/generated/fome.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.f407-discovery.2787437970" + signature = "rusEFI (FOME) master.2023.11.04.f407-discovery.4291159966" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.f407-discovery.2787437970" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.f407-discovery.4291159966" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +throttleInletPressureChannel = bits, U08, 3736, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = egtInputs, "EGT" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5298,6 +5353,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5393,11 +5453,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5426,6 +5488,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5445,9 +5508,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5699,7 +5779,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5868,6 +5947,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6178,7 +6258,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6188,7 +6269,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6198,7 +6280,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6208,7 +6291,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6258,14 +6342,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6275,14 +6355,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6292,6 +6368,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6400,6 +6532,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6584,11 +6718,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6596,8 +6728,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6618,10 +6748,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6629,8 +6758,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6651,7 +6778,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6910,7 +7036,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7020,10 +7145,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7152,6 +7282,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7162,6 +7302,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7224,7 +7365,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7331,6 +7473,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7339,6 +7486,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7961,12 +8109,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_48way.ini b/firmware/tunerstudio/generated/fome_48way.ini index 91b1ecaa61..65ce808304 100644 --- a/firmware/tunerstudio/generated/fome_48way.ini +++ b/firmware/tunerstudio/generated/fome_48way.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.48way.3202128349" + signature = "rusEFI (FOME) master.2023.10.25.48way.3033175398" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.48way.3202128349" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.10.25.48way.3033175398" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",10="BARO Pressure Reference Input (B1)",1="Battery Reference Input (A0)",3="CLT Reference Input (A2)",15="Fuel Pressure Reference Input (C4)",4="IAT Reference Input (A3)",9="MAP Pressure Reference Input (B0)",5="O2 Reference Input (A4)",16="Oil Pressure Reference Input (C5)",2="TPS Reference Input (A1)" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",10="BARO Pressure Reference Input (B1)",1="Battery Reference Input (A0)",3="CLT Reference Input (A2)",15="Fuel Pressure Reference Input (C4)",4="IAT Reference Input (A3)",9="MAP Pressure Reference Input (B0)",5="O2 Reference Input (A4)",16="Oil Pressure Reference Input (C5)",2="TPS Reference Input (A1)" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",10="BARO Pressure Reference Input (B1)",1="Battery Reference Input (A0)",3="CLT Reference Input (A2)",15="Fuel Pressure Reference Input (C4)",4="IAT Reference Input (A3)",9="MAP Pressure Reference Input (B0)",5="O2 Reference Input (A4)",16="Oil Pressure Reference Input (C5)",2="TPS Reference Input (A1)" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",10="BARO Pressure Reference Input (B1)",1="Battery Reference Input (A0)",3="CLT Reference Input (A2)",15="Fuel Pressure Reference Input (C4)",4="IAT Reference Input (A3)",9="MAP Pressure Reference Input (B0)",5="O2 Reference Input (A4)",16="Oil Pressure Reference Input (C5)",2="TPS Reference Input (A1)" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",10="BARO Pressure Reference Input (B1)",1="Battery Reference Input (A0)",3="CLT Reference Input (A2)",15="Fuel Pressure Reference Input (C4)",4="IAT Reference Input (A3)",9="MAP Pressure Reference Input (B0)",5="O2 Reference Input (A4)",16="Oil Pressure Reference Input (C5)",2="TPS Reference Input (A1)" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",10="BARO Pressure Reference Input (B1)",1="Battery Reference Input (A0)",3="CLT Reference Input (A2)",15="Fuel Pressure Reference Input (C4)",4="IAT Reference Input (A3)",9="MAP Pressure Reference Input (B0)",5="O2 Reference Input (A4)",16="Oil Pressure Reference Input (C5)",2="TPS Reference Input (A1)" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",10="BARO Pressure Reference Input (B1)",1="Battery Reference Input (A0)",3="CLT Reference Input (A2)",15="Fuel Pressure Reference Input (C4)",4="IAT Reference Input (A3)",9="MAP Pressure Reference Input (B0)",5="O2 Reference Input (A4)",16="Oil Pressure Reference Input (C5)",2="TPS Reference Input (A1)" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",41="Boost Controller Output (C7)",68="Fan Relay (E2)",69="Fuel Relay (E3)",65="HC1 Output (D15)",64="HC2 Output (D14)",40="Idle1 Output (C6)",62="Ignition 1 Output (D12)",63="Ignition 2 Output (D13)",33="Ignition 3 Output (B15)",32="Ignition 4 Output (B14)",58="Ignition 5 Output (D8)",59="Ignition 6 Output (D9)",61="Ignition 7 Output (D11)",60="Ignition 8 Output (D10)",81="Injector 1 Output (E15)",80="Injector 2 Output (E14)",79="Injector 3 Output (E13)",78="Injector 4 Output (E12)",77="Injector 5 Output (E11)",76="Injector 6 Output (E10)",75="Injector 7 Output (E9)",74="Injector 8 Output (E8)",71="Tachometer (E5)" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = egtInputs, "EGT" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5298,6 +5353,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5393,11 +5453,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5426,6 +5488,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5445,9 +5508,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5699,7 +5779,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5868,6 +5947,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6178,7 +6258,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6188,7 +6269,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6198,7 +6280,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6208,7 +6291,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6258,14 +6342,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6275,14 +6355,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6292,6 +6368,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6400,6 +6532,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6584,11 +6718,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6596,8 +6728,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6618,10 +6748,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6629,8 +6758,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6651,7 +6778,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6910,7 +7036,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7020,10 +7145,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7152,6 +7282,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7162,6 +7302,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7224,7 +7365,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7331,6 +7473,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7339,6 +7486,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7959,12 +8107,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_alphax-2chan.ini b/firmware/tunerstudio/generated/fome_alphax-2chan.ini index 9e7beb97ad..c12b3eeda5 100644 --- a/firmware/tunerstudio/generated/fome_alphax-2chan.ini +++ b/firmware/tunerstudio/generated/fome_alphax-2chan.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.alphax-2chan.3747157664" + signature = "rusEFI (FOME) master.2023.11.04.alphax-2chan.2260212908" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.alphax-2chan.3747157664" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.alphax-2chan.2260212908" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",40="A3 - Fuel Pump",41="A4 - Tachometer",47="A6 - Ignition A",71="A7 - Ignition B",105="A8 - Injector A",106="B8 - Injector B",42="C1 - Fan Relay",63="C8 - Idle" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - MAP",14="B3 - IAT",2="B4 - O2",5="B5 - TPS",13="B7 - CLT",7="C7 - CAM Hall/Digital",3="On-board MAP" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - MAP",14="B3 - IAT",2="B4 - O2",5="B5 - TPS",13="B7 - CLT",7="C7 - CAM Hall/Digital",3="On-board MAP" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - MAP",14="B3 - IAT",2="B4 - O2",5="B5 - TPS",13="B7 - CLT",7="C7 - CAM Hall/Digital",3="On-board MAP" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - MAP",14="B3 - IAT",2="B4 - O2",5="B5 - TPS",13="B7 - CLT",7="C7 - CAM Hall/Digital",3="On-board MAP" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - MAP",14="B3 - IAT",2="B4 - O2",5="B5 - TPS",13="B7 - CLT",7="C7 - CAM Hall/Digital",3="On-board MAP" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - MAP",14="B3 - IAT",2="B4 - O2",5="B5 - TPS",13="B7 - CLT",7="C7 - CAM Hall/Digital",3="On-board MAP" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - MAP",14="B3 - IAT",2="B4 - O2",5="B5 - TPS",13="B7 - CLT",7="C7 - CAM Hall/Digital",3="On-board MAP" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",40="A3 - Fuel Pump",41="A4 - Tachometer",47="A6 - Ignition A",71="A7 - Ignition B",105="A8 - Injector A",106="B8 - Injector B",42="C1 - Fan Relay",63="C8 - Idle" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5294,6 +5349,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5389,11 +5449,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5422,6 +5484,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5441,9 +5504,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5695,7 +5775,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5864,6 +5943,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6174,7 +6254,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6184,7 +6265,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6194,7 +6276,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6204,7 +6287,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6254,14 +6338,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6271,14 +6351,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6288,6 +6364,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6396,6 +6528,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6569,11 +6703,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6581,8 +6713,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6603,10 +6733,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6614,8 +6743,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6636,7 +6763,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6895,7 +7021,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7005,10 +7130,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7137,6 +7267,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7147,6 +7287,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7209,7 +7350,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7311,6 +7453,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7319,6 +7466,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7932,12 +8080,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_alphax-4chan.ini b/firmware/tunerstudio/generated/fome_alphax-4chan.ini index 23e85deaa5..29eab58636 100644 --- a/firmware/tunerstudio/generated/fome_alphax-4chan.ini +++ b/firmware/tunerstudio/generated/fome_alphax-4chan.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.alphax-4chan.1435571393" + signature = "rusEFI (FOME) master.2023.11.04.alphax-4chan.208674509" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.alphax-4chan.1435571393" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.alphax-4chan.208674509" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",10="A3 - Fuel Pump",104="A4 - Tachometer",47="A6 - Ignition 1",71="A7 - Ignition 2",105="A8 - Injector 1",106="B8 - Injector 2",100="C1 - Fan Relay",63="C8 - Idle",61="D1 - Injector 3",41="D2 - Out Boost",70="D6 - Ignition 3",69="D7 - Ignition 4",60="E1 - Injector 4",109="E2 - Out NOS",43="F1 - Idle2",65="F2 - VVT#1",62="F4 - VVT#2",110="F5 - MAIN" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",12="B2 - MAP",14="B3 - IAT",2="B4 - O2",5="B5 - TPS",13="B7 - CLT",7="C7 - CAM Hall/Digital",9="D4 - TPS2",4="D5 - PPS",15="F6 - PPS2",6="F7 - Ignition Key Voltage",3="On-board MAP" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",12="B2 - MAP",14="B3 - IAT",2="B4 - O2",5="B5 - TPS",13="B7 - CLT",7="C7 - CAM Hall/Digital",9="D4 - TPS2",4="D5 - PPS",15="F6 - PPS2",6="F7 - Ignition Key Voltage",3="On-board MAP" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",12="B2 - MAP",14="B3 - IAT",2="B4 - O2",5="B5 - TPS",13="B7 - CLT",7="C7 - CAM Hall/Digital",9="D4 - TPS2",4="D5 - PPS",15="F6 - PPS2",6="F7 - Ignition Key Voltage",3="On-board MAP" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",12="B2 - MAP",14="B3 - IAT",2="B4 - O2",5="B5 - TPS",13="B7 - CLT",7="C7 - CAM Hall/Digital",9="D4 - TPS2",4="D5 - PPS",15="F6 - PPS2",6="F7 - Ignition Key Voltage",3="On-board MAP" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",12="B2 - MAP",14="B3 - IAT",2="B4 - O2",5="B5 - TPS",13="B7 - CLT",7="C7 - CAM Hall/Digital",9="D4 - TPS2",4="D5 - PPS",15="F6 - PPS2",6="F7 - Ignition Key Voltage",3="On-board MAP" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",12="B2 - MAP",14="B3 - IAT",2="B4 - O2",5="B5 - TPS",13="B7 - CLT",7="C7 - CAM Hall/Digital",9="D4 - TPS2",4="D5 - PPS",15="F6 - PPS2",6="F7 - Ignition Key Voltage",3="On-board MAP" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",12="B2 - MAP",14="B3 - IAT",2="B4 - O2",5="B5 - TPS",13="B7 - CLT",7="C7 - CAM Hall/Digital",9="D4 - TPS2",4="D5 - PPS",15="F6 - PPS2",6="F7 - Ignition Key Voltage",3="On-board MAP" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",10="A3 - Fuel Pump",104="A4 - Tachometer",47="A6 - Ignition 1",71="A7 - Ignition 2",105="A8 - Injector 1",106="B8 - Injector 2",100="C1 - Fan Relay",63="C8 - Idle",61="D1 - Injector 3",41="D2 - Out Boost",70="D6 - Ignition 3",69="D7 - Ignition 4",60="E1 - Injector 4",109="E2 - Out NOS",43="F1 - Idle2",65="F2 - VVT#1",62="F4 - VVT#2",110="F5 - MAIN" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5297,6 +5352,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5392,11 +5452,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5425,6 +5487,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5444,9 +5507,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5698,7 +5778,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5867,6 +5946,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6177,7 +6257,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6187,7 +6268,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6197,7 +6279,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6207,7 +6290,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6257,14 +6341,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6274,14 +6354,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6291,6 +6367,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6399,6 +6531,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6573,11 +6707,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6585,8 +6717,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6607,10 +6737,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6618,8 +6747,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6640,7 +6767,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6899,7 +7025,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7009,10 +7134,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7141,6 +7271,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7151,6 +7291,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7213,7 +7354,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7315,6 +7457,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7323,6 +7470,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7936,12 +8084,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_alphax-8chan.ini b/firmware/tunerstudio/generated/fome_alphax-8chan.ini index 41cd135a67..36d37c6041 100644 --- a/firmware/tunerstudio/generated/fome_alphax-8chan.ini +++ b/firmware/tunerstudio/generated/fome_alphax-8chan.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.alphax-8chan.757731896" + signature = "rusEFI (FOME) master.2023.11.04.alphax-8chan.1959467060" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.alphax-8chan.757731896" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.alphax-8chan.1959467060" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",69="10A - Ignition 4",53="10D - LS 7",70="11A - Ignition 3",11="11D - LS 8",71="12A - Ignition 2",111="12D - NOS",47="13A - Ignition 1",41="13D - Boost",72="18C - Ignition 8",27="19C - Ignition 7",60="1A - Injector 4",26="20C - Ignition 6",68="21C - Ignition 5",96="26C - Injector 8",95="27C - Injector 7",94="28C - Injector 6",59="29C - Injector 5",61="2A - Injector 3",106="3A - Injector 2",105="4A - Injector 1",110="8B - Main Relay LS",10="8D - Fuel Pump",100="9D - Fan Relay" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",10="14A - Analog 1",32="14D - AN4",14="15A - IAT",8="15D - AN5",13="16A - CLT",24="16D - AN6",4="17A - PPS",11="22A - Analog 22",5="23C - TPS",9="24C - TPS2",15="31C - PPS2",16="33A - AN3",31="6C - AT3",29="7C - AT4",6="Battery Sense" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",10="14A - Analog 1",32="14D - AN4",14="15A - IAT",8="15D - AN5",13="16A - CLT",24="16D - AN6",4="17A - PPS",11="22A - Analog 22",5="23C - TPS",9="24C - TPS2",15="31C - PPS2",16="33A - AN3",31="6C - AT3",29="7C - AT4",6="Battery Sense" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",10="14A - Analog 1",32="14D - AN4",14="15A - IAT",8="15D - AN5",13="16A - CLT",24="16D - AN6",4="17A - PPS",11="22A - Analog 22",5="23C - TPS",9="24C - TPS2",15="31C - PPS2",16="33A - AN3",31="6C - AT3",29="7C - AT4",6="Battery Sense" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",10="14A - Analog 1",32="14D - AN4",14="15A - IAT",8="15D - AN5",13="16A - CLT",24="16D - AN6",4="17A - PPS",11="22A - Analog 22",5="23C - TPS",9="24C - TPS2",15="31C - PPS2",16="33A - AN3",31="6C - AT3",29="7C - AT4",6="Battery Sense" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",10="14A - Analog 1",32="14D - AN4",14="15A - IAT",8="15D - AN5",13="16A - CLT",24="16D - AN6",4="17A - PPS",11="22A - Analog 22",5="23C - TPS",9="24C - TPS2",15="31C - PPS2",16="33A - AN3",31="6C - AT3",29="7C - AT4",6="Battery Sense" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",10="14A - Analog 1",32="14D - AN4",14="15A - IAT",8="15D - AN5",13="16A - CLT",24="16D - AN6",4="17A - PPS",11="22A - Analog 22",5="23C - TPS",9="24C - TPS2",15="31C - PPS2",16="33A - AN3",31="6C - AT3",29="7C - AT4",6="Battery Sense" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",10="14A - Analog 1",32="14D - AN4",14="15A - IAT",8="15D - AN5",13="16A - CLT",24="16D - AN6",4="17A - PPS",11="22A - Analog 22",5="23C - TPS",9="24C - TPS2",15="31C - PPS2",16="33A - AN3",31="6C - AT3",29="7C - AT4",6="Battery Sense" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",69="10A - Ignition 4",53="10D - LS 7",70="11A - Ignition 3",11="11D - LS 8",71="12A - Ignition 2",111="12D - NOS",47="13A - Ignition 1",41="13D - Boost",72="18C - Ignition 8",27="19C - Ignition 7",60="1A - Injector 4",26="20C - Ignition 6",68="21C - Ignition 5",96="26C - Injector 8",95="27C - Injector 7",94="28C - Injector 6",59="29C - Injector 5",61="2A - Injector 3",106="3A - Injector 2",105="4A - Injector 1",110="8B - Main Relay LS",10="8D - Fuel Pump",100="9D - Fan Relay" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5297,6 +5352,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5392,11 +5452,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5425,6 +5487,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5444,9 +5507,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5698,7 +5778,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5867,6 +5946,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6177,7 +6257,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6187,7 +6268,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6197,7 +6279,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6207,7 +6290,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6257,14 +6341,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6274,14 +6354,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6291,6 +6367,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6399,6 +6531,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6573,11 +6707,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6585,8 +6717,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6607,10 +6737,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6618,8 +6747,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6640,7 +6767,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6899,7 +7025,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7009,10 +7134,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7141,6 +7271,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7151,6 +7291,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7213,7 +7354,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7315,6 +7457,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7323,6 +7470,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7936,12 +8084,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_atlas.ini b/firmware/tunerstudio/generated/fome_atlas.ini index 4691c8fc6f..dcfa10d53a 100644 --- a/firmware/tunerstudio/generated/fome_atlas.ini +++ b/firmware/tunerstudio/generated/fome_atlas.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.atlas.3872187456" + signature = "rusEFI (FOME) master.2023.11.04.atlas.3207458380" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.atlas.3872187456" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.atlas.3207458380" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +throttleInletPressureChannel = bits, U08, 3736, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = egtInputs, "EGT" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5296,6 +5351,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5391,11 +5451,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5424,6 +5486,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5443,9 +5506,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5697,7 +5777,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5866,6 +5945,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6176,7 +6256,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6186,7 +6267,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6196,7 +6278,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6206,7 +6289,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6256,14 +6340,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6273,14 +6353,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6290,6 +6366,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6398,6 +6530,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6574,11 +6708,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6586,8 +6718,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6608,10 +6738,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6619,8 +6748,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6641,7 +6768,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6900,7 +7026,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7010,10 +7135,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7142,6 +7272,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7152,6 +7292,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7214,7 +7355,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7321,6 +7463,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7329,6 +7476,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7950,12 +8098,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_core48.ini b/firmware/tunerstudio/generated/fome_core48.ini new file mode 100644 index 0000000000..5e9ba83ebd --- /dev/null +++ b/firmware/tunerstudio/generated/fome_core48.ini @@ -0,0 +1,8270 @@ +; This is a TunerStudio project for the FOME.tech engine management system +; +; This file has been generated by invoking gen_config.bat. +; The input files are +; rusefi.input the common template +; rusefi_config.txt the project specific file +; +; In TunerStudio some fields have little question mark on the left of the name for additional field tips. +; Those tips are defined in ../integration/rusefi_config.txt +; +; For example +; +; float bias_resistor;Pull-up resistor value on your board;"Ohm" +; here 'bias_resistor' is internal field name and the text between semicolons is what produces the tooltip +; Note that '+' sign is required after first semicolon for tooltop to appear in TunerStudio +; +; +; field = "# blue text" +; field = "! red text" +; field = "normal text" +; +; + +; this should stop TS from looking for the CAN ID in the 2nd byte location and allow the page reads to work correctly. +enable2ndByteCanID = false + +[SettingGroups] + ; the referenceName will over-ride previous, so if you are creating a + ; settingGroup with a reference name of lambdaSensor, it will replace the + ; setting group defined in the settingGroups.xml of the TunerStudio config + ; folder. If is is an undefined referenceName, it will be added. + ; keyword = referenceName, DisplayName + +[MegaTune] + ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 + signature = "rusEFI (FOME) master.2023.11.04.core48.512659632" + +[TunerStudio] + queryCommand = "S" + versionInfo = "V" ; firmware version for title bar. + signature= "rusEFI (FOME) master.2023.11.04.core48.512659632" ; 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 + ignoreMissingBitOptions = true + + ; Optimize comms for fast rusEFI ECUs + noCommReadDelay = true; + defaultRuntimeRecordPerSec = 100; + maxUnusedRuntimeRange = 1000; + + ; Set default IP/port to our IP/port + defaultIpAddress = 192.168.10.1; + defaultIpPort = 29000; + +[Constants] +; new packet serial format with CRC + messageEnvelopeFormat = msEnvelope_1.0 + + endianness = little + nPages = 1 + + pageIdentifier = "\x00\x00" + pageReadCommand = "R%2o%2c" + burnCommand = "B" + pageActivate = "P" + pageValueWrite = "W%2o%v" + pageChunkWrite = "C%2o%2c%v" + crc32CheckCommand = "k%2o%2c" + retrieveConfigError = "e" + +;communication settings + pageActivationDelay = 500 ; Milliseconds delay after burn command. See https://sourceforge.net/p/rusefi/tickets/77/ +;e.g. put writeblocks off and add an interwrite delay + writeBlocks = on + interWriteDelay = 10 + blockReadTimeout = 3000; Milliseconds general timeout + + ; delayAfterPortOpen = 500 + + blockingFactor = 750 ; max chunk size +;end communication settings + + ; name = bits, type, offset, bits + ; name = array, type, offset, shape, units, scale, translate, lo, hi, digits + ; name = scalar, type, offset, units, scale, translate, lo, hi, digits + +; CONFIG_DEFINITION_START +pageSize = 22996 +page = 1 +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 +launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 +rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 +engineSnifferRpmThreshold = scalar, U16, 10, "RPM", 1, 0, 0, 30000, 0 +multisparkMaxRpm = scalar, U08, 12, "rpm", 50.0, 0, 0, 3000, 0 +maxAcRpm = scalar, U08, 13, "rpm", 50.0, 0, 0, 10000, 0 +maxAcTps = scalar, U08, 14, "%", 1, 0, 0, 100, 0 +maxAcClt = scalar, U08, 15, "deg C", 1, 0, 0, 150, 0 +knockNoiseRpmBins = array, U16, 16, [16], "RPM", 1, 0, 0, 30000, 0 +multisparkMaxSparkingAngle = scalar, U08, 48, "deg", 1, 0, 0, 60, 0 +multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 +ignitionMode = bits, U08, 50, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +canNbcType = bits, U08, 51, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "type 13", "type 14" +injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 +injector_battLagCorrBins = array, U16, 56, [8], "volts", 0.01, 0, 0, 20, 2 +injector_battLagCorr = array, U16, 72, [8], "ms", 0.01, 0, 0, 50, 2 +isForcedInduction = bits, U32, 88, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 88, [1:1], "false", "true" +lambdaProtectionEnable = bits, U32, 88, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 88, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 88, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 88, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 88, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" +useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" +kickStartCranking = bits, U32, 88, [13:13], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" +launchControlEnabled = bits, U32, 88, [15:15], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 88, [16:16], "with filter", "without filter" +antiLagEnabled = bits, U32, 88, [17:17], "false", "true" +useRunningMathForCranking = bits, U32, 88, [18:18], "Fixed", "Fuel Map" +useTLE8888_stepper = bits, U32, 88, [19:19], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 88, [20:20], "false", "true" +verboseCan = bits, U32, 88, [21:21], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 88, [22:22], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 88, [23:23], "false", "true" +cltSensorPulldown = bits, U32, 88, [24:24], "false", "true" +iatSensorPulldown = bits, U32, 88, [25:25], "false", "true" +allowIdenticalPps = bits, U32, 88, [26:26], "false", "true" +tpsMin = scalar, S16, 92, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 94, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 96, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 98, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 100, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 104, "RPM", 1, 0, 0, 3000, 0 +ignitionDwellForCrankingMs = scalar, F32, 108, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 112, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 114, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 116, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 148, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 180, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 212, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 244, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 248, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 252, [0:4], "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "GM 3 Bar", "MPX4100", "Toyota 89420-02010", "MPX4250A", "Bosch 2.5", "Mazda1Bar", "GM 2 Bar", "GM 1 Bar", "MPXH6400" +map_sensor_hwChannel = bits, U08, 253, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +clt_tempC_1 = scalar, S32, 256, "*C", 0.01, 0, -40, 200, 1 +clt_tempC_2 = scalar, S32, 260, "*C", 0.01, 0, -40, 200, 1 +clt_tempC_3 = scalar, S32, 264, "*C", 0.01, 0, -40, 200, 1 +clt_resistance_1 = scalar, U32, 268, "Ohm", 0.01, 0, 0, 200000, 1 +clt_resistance_2 = scalar, U32, 272, "Ohm", 0.01, 0, 0, 200000, 1 +clt_resistance_3 = scalar, U32, 276, "Ohm", 0.01, 0, 0, 200000, 1 +clt_bias_resistor = scalar, U32, 280, "Ohm", 0.1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 284, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +iat_tempC_1 = scalar, S32, 288, "*C", 0.01, 0, -40, 200, 1 +iat_tempC_2 = scalar, S32, 292, "*C", 0.01, 0, -40, 200, 1 +iat_tempC_3 = scalar, S32, 296, "*C", 0.01, 0, -40, 200, 1 +iat_resistance_1 = scalar, U32, 300, "Ohm", 0.01, 0, 0, 200000, 1 +iat_resistance_2 = scalar, U32, 304, "Ohm", 0.01, 0, 0, 200000, 1 +iat_resistance_3 = scalar, U32, 308, "Ohm", 0.01, 0, 0, 200000, 1 +iat_bias_resistor = scalar, U32, 312, "Ohm", 0.1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 316, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +launchTimingRetard = scalar, S32, 320, "deg", 1, 0, -180, 180, 2 +knockBandCustom = scalar, F32, 324, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 +benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 +cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 345, "%", 1, 0, 0, 10, 0 +binarySerialTxPin = bits, U16, 346, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +binarySerialRxPin = bits, U16, 348, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +crankingInjectionMode = bits, U08, 350, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 351, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 352, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 354, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 355, "", 1, 0, 0, 250, 0 +timingMode = bits, U08, 356, [0:0], "dynamic", "fixed" +mafAdcChannel = bits, U08, 357, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +benchTestCount = scalar, U16, 358, "", 1, 0, 0, 10000, 0 +crankingTimingAngle = scalar, F32, 360, "deg", 1, 0, -30, 30, 0 +gapTrackingLengthOverride = scalar, S08, 364, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 365, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 366, "kPa", 1, 0, 0, 1000, 0 +fixedModeTiming = scalar, F32, 368, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 372, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 376, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 380, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, U08, 384, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, U08, 385, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 386, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +driveWheelRevPerKm = scalar, F32, 388, "revs/km", 1, 0, 100, 1000, 1 +canSleepPeriodMs = scalar, S32, 392, "ms", 1, 0, 0, 1000, 2 +byFirmwareVersion = scalar, S32, 396, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 400, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +vbattAdcChannel = bits, U08, 401, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +fuelLevelSensor = bits, U08, 402, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +tps2_1AdcChannel = bits, U08, 403, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +idle_derivativeFilterLoss = scalar, F32, 404, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 408, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 412, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Mitsubishi Mess 4", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Mitsubishi 4G93 11", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600", "Mitsubishi 4G92/93/94 Cam 29", "Honda CBR 600 custom", "3/1 skipped", "Dodge Neon 2003 crank", "Miata NB", "Mitsubishi 4G63 Cam 34", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12 tooth crank", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36/2", "Subaru SVX", "1+16", "Subaru 7 without 6", "INVALID", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "Mitsubishi 3A92", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32/2", "36-2-1", "36-2-1-1", "INVALID", "INVALID", "GM 24x 3 degree", "trg75" +trigger_customTotalToothCount = scalar, S32, 416, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 420, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 424, "%", 1, 0, 0, 50, 1 +boostControlSafeDutyCycle = scalar, U08, 428, "%", 1, 0, 0, 100, 0 +throttlePedalPositionAdcChannel = bits, U08, 429, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +tle6240_csPinMode = bits, U08, 430, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acrRevolutions = scalar, U08, 431, "", 1, 0, 0, 10, 0 +globalFuelCorrection = scalar, F32, 432, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 436, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 440, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 444, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +camInputs2 = bits, U16, 446, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +camInputs3 = bits, U16, 448, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +camInputs4 = bits, U16, 450, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +afr_hwChannel = bits, U08, 452, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +afr_hwChannel2 = bits, U08, 453, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +afr_v1 = scalar, U16, 454, "volts", 0.001, 0, 0, 10, 3 +afr_value1 = scalar, U16, 456, "AFR", 0.001, 0, 0, 50, 2 +afr_v2 = scalar, U16, 458, "volts", 0.001, 0, 0, 10, 3 +afr_value2 = scalar, U16, 460, "AFR", 0.001, 0, 0, 50, 2 +tle6240_cs = bits, U16, 464, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +throttlePedalUpPin = bits, U16, 466, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +baroSensor_lowValue = scalar, F32, 468, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 472, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 476, [0:4], "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "GM 3 Bar", "MPX4100", "Toyota 89420-02010", "MPX4250A", "Bosch 2.5", "Mazda1Bar", "GM 2 Bar", "GM 1 Bar", "MPXH6400" +baroSensor_hwChannel = bits, U08, 477, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +idle_solenoidFrequency = scalar, S32, 480, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 484, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +idle_stepperDirectionPin = bits, U16, 486, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +idle_stepperStepPin = bits, U16, 488, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +idle_solenoidPinMode = bits, U08, 490, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 492, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 496, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 497, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 498, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 499, "", 1, 0, 2, 200, 0 +vssGearRatio = scalar, U16, 500, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 502, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 503, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 504, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +o2heaterPin = bits, U16, 506, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +injectionPins1 = bits, U16, 508, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +injectionPins2 = bits, U16, 510, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +injectionPins3 = bits, U16, 512, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +injectionPins4 = bits, U16, 514, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +injectionPins5 = bits, U16, 516, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +injectionPins6 = bits, U16, 518, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +injectionPins7 = bits, U16, 520, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +injectionPins8 = bits, U16, 522, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +injectionPins9 = bits, U16, 524, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +injectionPins10 = bits, U16, 526, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +injectionPins11 = bits, U16, 528, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +injectionPins12 = bits, U16, 530, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +ignitionPins1 = bits, U16, 532, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +ignitionPins2 = bits, U16, 534, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +ignitionPins3 = bits, U16, 536, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +ignitionPins4 = bits, U16, 538, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +ignitionPins5 = bits, U16, 540, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +ignitionPins6 = bits, U16, 542, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +ignitionPins7 = bits, U16, 544, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +ignitionPins8 = bits, U16, 546, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +ignitionPins9 = bits, U16, 548, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +ignitionPins10 = bits, U16, 550, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +ignitionPins11 = bits, U16, 552, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +ignitionPins12 = bits, U16, 554, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +injectionPinMode = bits, U08, 556, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 557, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 558, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +fuelPumpPinMode = bits, U08, 560, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalPositionSecondAdcChannel = bits, U08, 561, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +malfunctionIndicatorPin = bits, U16, 562, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +malfunctionIndicatorPinMode = bits, U08, 564, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 565, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 566, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +clutchDownPin = bits, U16, 568, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +alternatorControlPin = bits, U16, 570, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +alternatorControlPinMode = bits, U08, 572, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 573, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +electronicThrottlePin1Mode = bits, U08, 574, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 575, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 576, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +mc33972_cs = bits, U16, 578, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +mc33972_csPinMode = bits, U08, 580, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 581, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +tps1_2AdcChannel = bits, U08, 582, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +tps2_2AdcChannel = bits, U08, 583, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +fuelLevelValues = array, U08, 584, [8], "%", 1, 0, 0, 100, 0 +idle_antiwindupFreq = scalar, F32, 592, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 596, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +triggerInputPins2 = bits, U16, 598, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +mc33_t_min_boost = scalar, U16, 600, "us", 1, 0, 0, 10000, 0 +tachOutputPin = bits, U16, 602, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +tachOutputPinMode = bits, U08, 604, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 605, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +mainRelayPin = bits, U16, 606, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +sdCardCsPin = bits, U16, 608, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +canTxPin = bits, U16, 610, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +canRxPin = bits, U16, 612, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +throttlePedalUpPinMode = bits, U08, 614, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 615, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 616, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 618, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +tcuInputSpeedSensorTeeth = scalar, U08, 620, "", 1, 0, 0, 100, 0 +mainRelayPinMode = bits, U08, 621, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionMin = scalar, U16, 622, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 624, "mv", 1, 0, 0, 5000, 0 +secondSolenoidPin = bits, U16, 626, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +tunerStudioSerialSpeed = scalar, U32, 628, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 632, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 636, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +triggerSimulatorPins2 = bits, U16, 638, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +fordInjectorSmallPulseSlope = scalar, U16, 640, "g/s", 0.001, 0, 0, 65, 3 +lambdaProtectionMinRpm = scalar, U08, 642, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 643, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 644, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 644, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 644, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 644, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 644, [4:4], "11 bit", "29 bit" +isVerboseAlternator = bits, U32, 644, [5:5], "false", "true" +useStepperIdle = bits, U32, 644, [6:6], "false", "true" +enabledStep1Limiter = bits, U32, 644, [7:7], "false", "true" +verboseTLE8888 = bits, U32, 644, [8:8], "false", "true" +enableVerboseCanTx = bits, U32, 644, [9:9], "false", "true" +etb1configured = bits, U32, 644, [10:10], "false", "true" +etb2configured = bits, U32, 644, [11:11], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 644, [12:12], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 644, [13:13], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 644, [14:14], "false", "true" +coastingFuelCutEnabled = bits, U32, 644, [15:15], "false", "true" +useIacTableForCoasting = bits, U32, 644, [16:16], "false", "true" +useIdleTimingPidControl = bits, U32, 644, [17:17], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 644, [18:18], "false", "true" +is_enabled_spi_4 = bits, U32, 644, [19:19], "false", "true" +pauseEtbControl = bits, U32, 644, [20:20], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 644, [21:21], "false", "true" +enableAemXSeries = bits, U32, 644, [22:22], "false", "true" +logicAnalyzerPins1 = bits, U16, 648, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +logicAnalyzerPins2 = bits, U16, 650, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +logicAnalyzerPins3 = bits, U16, 652, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +logicAnalyzerPins4 = bits, U16, 654, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +verboseCanBaseAddress = scalar, U32, 656, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 660, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 661, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 662, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +acFanPinMode = bits, U08, 664, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 665, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 666, [8], "volts", 0.1, 0, 0, 20, 1 +dwellVoltageCorrValues = array, U08, 674, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 682, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 684, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 686, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 688, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +lps25BaroSensorSda = bits, U16, 690, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +vehicleSpeedSensorInputPin = bits, U16, 692, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +clutchUpPin = bits, U16, 694, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +injectorNonlinearMode = bits, U08, 696, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 697, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 698, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +max31855_cs2 = bits, U16, 700, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +max31855_cs3 = bits, U16, 702, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +max31855_cs4 = bits, U16, 704, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +max31855_cs5 = bits, U16, 706, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +max31855_cs6 = bits, U16, 708, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +max31855_cs7 = bits, U16, 710, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +max31855_cs8 = bits, U16, 712, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +flexSensorPin = bits, U16, 714, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +test557pin = bits, U16, 716, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDirectionPinMode = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 719, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 720, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 721, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 722, "hz", 1, 0, 1, 250, 0 +debugMapAveraging = bits, U16, 724, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +starterRelayDisablePin = bits, U16, 726, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +starterRelayDisablePinMode = bits, U08, 728, [0:1], "default", "default inverted", "open collector", "open collector inverted" +imuType = bits, U08, 729, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +startStopButtonPin = bits, U16, 730, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +mapMinBufferLength = scalar, S32, 732, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 736, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 738, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 740, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 742, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 744, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 746, "Seconds", 1, 0, 0, 30, 0 +lambdaProtectionMinTps = scalar, U08, 748, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 752, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 +drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 764, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 768, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 772, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 776, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 780, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 784, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 788, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi1misoPin = bits, U16, 790, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi1sckPin = bits, U16, 792, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi2mosiPin = bits, U16, 794, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi2misoPin = bits, U16, 796, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi2sckPin = bits, U16, 798, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi3mosiPin = bits, U16, 800, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi3misoPin = bits, U16, 802, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi3sckPin = bits, U16, 804, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +consoleUartDevice = bits, U08, 806, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 807, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +clutchUpPinInverted = bits, U32, 808, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 808, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 808, [2:2], "false", "true" +multisparkEnable = bits, U32, 808, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" +enableCanVss = bits, U32, 808, [5:5], "false", "true" +enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" +enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" +verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" +invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" +knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 808, [16:16], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 808, [17:17], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 808, [18:18], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 808, [19:19], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 808, [20:20], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 808, [21:21], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 808, [22:22], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 808, [23:23], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 808, [24:24], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 808, [25:25], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 808, [26:26], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 808, [27:27], "false", "true" +verboseCan2 = bits, U32, 808, [28:28], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 812, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +etbIo1_directionPin2 = bits, U16, 814, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +etbIo1_controlPin = bits, U16, 816, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +etbIo1_disablePin = bits, U16, 818, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +etbIo2_directionPin1 = bits, U16, 820, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +etbIo2_directionPin2 = bits, U16, 822, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +etbIo2_controlPin = bits, U16, 824, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +etbIo2_disablePin = bits, U16, 826, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +boostControlPin = bits, U16, 828, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +boostControlPinMode = bits, U08, 830, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostType = bits, U08, 831, [0:0], "Open Loop", "Open + Closed Loop" +ALSActivatePin = bits, U16, 832, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +launchActivatePin = bits, U16, 834, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +boostPid_pFactor = scalar, F32, 836, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 840, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 844, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 848, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 850, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 852, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 854, "", 1, 0, -30000, 30000, 0 +boostPwmFrequency = scalar, S32, 856, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 860, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 861, [0:0], "Switch Input", "Always Active" +mc33816_flag0 = bits, U16, 862, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +launchSpeedThreshold = scalar, S32, 864, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 868, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 872, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 876, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 880, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 884, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 888, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 892, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 896, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 897, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 898, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 899, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 900, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 901, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 902, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 903, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 904, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 905, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 906, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 908, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 909, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 910, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 912, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 913, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 914, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 916, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 917, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 918, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 920, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDcIo1_directionPin2 = bits, U16, 922, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDcIo1_controlPin = bits, U16, 924, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDcIo1_disablePin = bits, U16, 926, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDcIo2_directionPin1 = bits, U16, 928, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDcIo2_directionPin2 = bits, U16, 930, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDcIo2_controlPin = bits, U16, 932, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDcIo2_disablePin = bits, U16, 934, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +engineMake = string, ASCII, 936, 32 +engineCode = string, ASCII, 968, 32 +vehicleName = string, ASCII, 1000, 32 +tcu_solenoid1 = bits, U16, 1032, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +tcu_solenoid2 = bits, U16, 1034, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +tcu_solenoid3 = bits, U16, 1036, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +tcu_solenoid4 = bits, U16, 1038, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +tcu_solenoid5 = bits, U16, 1040, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +tcu_solenoid6 = bits, U16, 1042, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +etbFunctions1 = bits, U08, 1044, [0:1], "None", "Throttle 1", "Throttle 2", "Wastegate" +etbFunctions2 = bits, U08, 1045, [0:1], "None", "Throttle 1", "Throttle 2", "Wastegate" +drv8860_cs = bits, U16, 1046, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +drv8860_csPinMode = bits, U08, 1048, [0:1], "default", "default inverted", "open collector", "open collector inverted" +idleMode = bits, U08, 1049, [0:0], "Open Loop + Closed Loop", "Open Loop" +drv8860_miso = bits, U16, 1050, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +fuelLevelBins = array, U16, 1052, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1068, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +luaOutputPins2 = bits, U16, 1070, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +luaOutputPins3 = bits, U16, 1072, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +luaOutputPins4 = bits, U16, 1074, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +luaOutputPins5 = bits, U16, 1076, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +luaOutputPins6 = bits, U16, 1078, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +luaOutputPins7 = bits, U16, 1080, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +luaOutputPins8 = bits, U16, 1082, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +vvtOffsets1 = scalar, S16, 1084, "value", 0.1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, S16, 1086, "value", 0.1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, S16, 1088, "value", 0.1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, S16, 1090, "value", 0.1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1092, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1098, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1104, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +vrThreshold2_rpmBins = array, U08, 1108, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1114, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1120, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +gpPwmNote1 = string, ASCII, 1124, 16 +gpPwmNote2 = string, ASCII, 1140, 16 +gpPwmNote3 = string, ASCII, 1156, 16 +gpPwmNote4 = string, ASCII, 1172, 16 +tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1192, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1192, [7:7], "false", "true" +canReadEnabled = bits, U32, 1192, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1192, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1192, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1192, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1192, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1192, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1192, [14:14], "false", "true" +invertSecondaryTriggerSignal = bits, U32, 1192, [15:15], "false", "true" +cutFuelOnHardLimit = bits, U32, 1192, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1192, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1192, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1192, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1192, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1192, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1192, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1192, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1192, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1192, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1192, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1192, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1192, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1192, [29:29], "false", "true" +twoStroke = bits, U32, 1192, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1192, [31:31], "On crankshaft", "On camshaft" +acSwitch = bits, U16, 1196, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +vRefAdcChannel = bits, U08, 1198, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +etbNeutralPosition = scalar, U08, 1199, "%", 1, 0, 0, 100, 0 +isInjectionEnabled = bits, U32, 1200, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1200, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1200, [2:2], "false", "true" +complexWallModel = bits, U32, 1200, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1200, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1200, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1200, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1200, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1200, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1200, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1200, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1200, [11:11], "false", "true" +unused1200b12 = bits, U32, 1200, [12:12], "false", "true" +neverInstantRpm = bits, U32, 1200, [13:13], "false", "true" +unused1200b14 = bits, U32, 1200, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1200, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1200, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1200, [17:17], "false", "true" +flexCranking = bits, U32, 1200, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1200, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1200, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1200, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1200, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1200, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1200, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1200, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1200, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1200, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1200, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1200, [29:29], "false", "true" +engineChartSize = scalar, U32, 1204, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1208, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1212, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +camInputsDebug2 = bits, U16, 1214, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +camInputsDebug3 = bits, U16, 1216, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +camInputsDebug4 = bits, U16, 1218, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +acIdleRpmBump = scalar, S16, 1220, "RPM", 1, 0, 0, 1000, 0 +warningPeriod = scalar, S16, 1222, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1224, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1228, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1232, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1236, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1240, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1244, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1248, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1252, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1256, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1260, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1264, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1268, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1270, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1272, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1274, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1276, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1280, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1284, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1288, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1290, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1292, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1294, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1296, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +triggerInputDebugPins2 = bits, U16, 1298, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +airTaperRpmRange = scalar, S16, 1300, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1302, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +tps2Min = scalar, S16, 1304, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1306, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1308, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +startStopButtonMode = bits, U08, 1310, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tachPulsePerRev = scalar, U08, 1311, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1312, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1316, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1320, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1322, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1324, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1328, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1332, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1336, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1338, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1340, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1342, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1344, "Fraction", 1, 0, 0, 1, 2 +auxValves1 = bits, U16, 1348, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +auxValves2 = bits, U16, 1350, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +tcuUpshiftButtonPin = bits, U16, 1352, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +tcuDownshiftButtonPin = bits, U16, 1354, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +throttlePedalUpVoltage = scalar, F32, 1356, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1360, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1364, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1366, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1368, "Volts", 1, 0, 0, 30, 1 +alternatorOffAboveTps = scalar, F32, 1372, "%", 1, 0, 0, 200, 2 +afterCrankingIACtaperDuration = scalar, S16, 1376, "cycles", 1, 0, 0, 5000, 0 +iacByTpsTaper = scalar, S16, 1378, "percent", 1, 0, 0, 500, 0 +auxSerialTxPin = bits, U16, 1380, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +auxSerialRxPin = bits, U16, 1382, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +LIS302DLCsPin = bits, U16, 1384, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +tpsAccelLookback = scalar, U08, 1386, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1387, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1388, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1389, "sec", 0.1, 0, 0, 10, 1 +ignTestOnTime = scalar, U08, 1390, "ms", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1392, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1396, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +auxSpeedSensorInputPin2 = bits, U16, 1398, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +totalGearsCount = scalar, U08, 1400, "", 1, 0, 1, 8, 0 +injectionTimingMode = bits, U08, 1401, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1402, [0:5], "INVALID", "TPS acceleration enrichment", "INVALID", "Stepper Idle Control", "Engine Load accl enrich", "Trigger Counters", "Soft Spark Cut", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "SD card", "sr5", "Knock", "INVALID", "Electronic Throttle", "Executor", "Bench Test / TS commands", "INVALID", "Analog inputs #1", "INSTANT_RPM", "INVALID", "Status", "INVALID", "INVALID", "MAP", "Metrics", "INVALID", "Ion Sense", "TLE8888", "Analog inputs #2", "Dwell Metric", "INVALID", "INVALID", "Boost Control", "INVALID", "INVALID", "ETB Autotune", "Composite Log", "INVALID", "INVALID", "INVALID", "Dyno_View", "Logic_Analyzer", "INVALID", "TCU", "Lua" +fan1ExtraIdle = scalar, U08, 1403, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1404, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1408, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1412, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1416, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1420, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1424, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1428, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1429, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1430, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1431, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1432, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1433, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1434, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1435, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1436, [0:0], "false", "true" +canOpenBLT = bits, U32, 1436, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1436, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1436, [3:3], "volumetric flow", "mass flow" +benchTestOffTime = scalar, U08, 1440, "ms", 5.0, 0, 0, 2000, 0 +lambdaProtectionRestoreTps = scalar, U08, 1441, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1442, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1443, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1444, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +can2RxPin = bits, U16, 1446, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +starterControlPinMode = bits, U08, 1448, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1449, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +ignOverrideMode = bits, U08, 1450, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1451, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1452, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +hpfpValvePinMode = bits, U08, 1454, [0:1], "default", "default inverted", "open collector", "open collector inverted" +accelerometerSpiDevice = bits, U08, 1455, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostCutPressure = scalar, F32, 1456, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1460, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1476, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1492, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1496, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1500, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1504, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1508, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +vvtPins2 = bits, U16, 1510, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +vvtPins3 = bits, U16, 1512, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +vvtPins4 = bits, U16, 1514, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +crankingIACposition = scalar, S32, 1516, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1520, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1524, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1528, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1532, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +auxAnalogInputs2 = bits, U08, 1549, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +auxAnalogInputs3 = bits, U08, 1550, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +auxAnalogInputs4 = bits, U08, 1551, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +auxAnalogInputs5 = bits, U08, 1552, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +auxAnalogInputs6 = bits, U08, 1553, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +auxAnalogInputs7 = bits, U08, 1554, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +auxAnalogInputs8 = bits, U08, 1555, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +trailingCoilPins1 = bits, U16, 1556, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +trailingCoilPins2 = bits, U16, 1558, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +trailingCoilPins3 = bits, U16, 1560, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +trailingCoilPins4 = bits, U16, 1562, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +trailingCoilPins5 = bits, U16, 1564, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +trailingCoilPins6 = bits, U16, 1566, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +trailingCoilPins7 = bits, U16, 1568, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +trailingCoilPins8 = bits, U16, 1570, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +trailingCoilPins9 = bits, U16, 1572, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +trailingCoilPins10 = bits, U16, 1574, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +trailingCoilPins11 = bits, U16, 1576, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +trailingCoilPins12 = bits, U16, 1578, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +tle8888mode = bits, U08, 1580, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +LIS302DLCsPinMode = bits, U08, 1581, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1582, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1583, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1584, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = scalar, F32, 1588, "mult", 1, 0, 1, 3, 2 +postCrankingDurationSec = scalar, F32, 1592, "seconds", 1, 0, 0, 30, 0 +auxTempSensor1_tempC_1 = scalar, S32, 1596, "*C", 0.01, 0, -40, 200, 1 +auxTempSensor1_tempC_2 = scalar, S32, 1600, "*C", 0.01, 0, -40, 200, 1 +auxTempSensor1_tempC_3 = scalar, S32, 1604, "*C", 0.01, 0, -40, 200, 1 +auxTempSensor1_resistance_1 = scalar, U32, 1608, "Ohm", 0.01, 0, 0, 200000, 1 +auxTempSensor1_resistance_2 = scalar, U32, 1612, "Ohm", 0.01, 0, 0, 200000, 1 +auxTempSensor1_resistance_3 = scalar, U32, 1616, "Ohm", 0.01, 0, 0, 200000, 1 +auxTempSensor1_bias_resistor = scalar, U32, 1620, "Ohm", 0.1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 1624, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +auxTempSensor2_tempC_1 = scalar, S32, 1628, "*C", 0.01, 0, -40, 200, 1 +auxTempSensor2_tempC_2 = scalar, S32, 1632, "*C", 0.01, 0, -40, 200, 1 +auxTempSensor2_tempC_3 = scalar, S32, 1636, "*C", 0.01, 0, -40, 200, 1 +auxTempSensor2_resistance_1 = scalar, U32, 1640, "Ohm", 0.01, 0, 0, 200000, 1 +auxTempSensor2_resistance_2 = scalar, U32, 1644, "Ohm", 0.01, 0, 0, 200000, 1 +auxTempSensor2_resistance_3 = scalar, U32, 1648, "Ohm", 0.01, 0, 0, 200000, 1 +auxTempSensor2_bias_resistor = scalar, U32, 1652, "Ohm", 0.1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 1656, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +knockSamplingDuration = scalar, S16, 1660, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 1662, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 1664, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 1668, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 1672, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 1676, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 1678, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 1680, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 1682, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 1684, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 1685, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 1686, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 1687, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 1688, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 1692, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 1696, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 1700, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 1704, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 1708, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 1712, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 1716, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 1720, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 1724, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 1728, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 1732, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 1736, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 1740, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi1MosiMode = bits, U08, 1741, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi1MisoMode = bits, U08, 1742, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi2SckMode = bits, U08, 1743, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi2MosiMode = bits, U08, 1744, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi2MisoMode = bits, U08, 1745, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi3SckMode = bits, U08, 1746, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi3MosiMode = bits, U08, 1747, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi3MisoMode = bits, U08, 1748, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +stepperEnablePinMode = bits, U08, 1749, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 1750, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +mc33816_driven = bits, U16, 1752, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +brakePedalPin = bits, U16, 1754, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +brakePedalPinMode = bits, U08, 1756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tChargeMode = bits, U08, 1757, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +tcuUpshiftButtonPinMode = bits, U08, 1758, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 1759, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 1760, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 1764, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 1768, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 1772, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 1774, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 1776, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 1778, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 1780, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 1784, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 1788, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 1792, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 1794, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 1796, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 1798, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 1800, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 1804, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 1808, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 1812, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 1816, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 1820, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 1824, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 1828, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 1832, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 1840, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +oilPressure_v1 = scalar, F32, 1844, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 1848, "kPa", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 1852, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 1856, "kPa", 1, 0, 0, 1000000, 2 +fan2Pin = bits, U16, 1860, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +fan2OnTemperature = scalar, U08, 1862, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 1863, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 1864, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +tle8888_cs = bits, U16, 1866, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +tle8888_csPinMode = bits, U08, 1868, [0:1], "default", "default inverted", "open collector", "open collector inverted" +canVssNbcType = bits, U08, 1869, [0:0], "BMW_e46", "W202" +mc33816_cs = bits, U16, 1870, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +auxFrequencyFilter = scalar, F32, 1872, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 1876, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 1878, [0:7], 0="NONE",54="Digital Input 1 (D4)",55="Digital Input 2 (D5)",52="Digital Input 3 (D2)",53="Digital Input 4 (D3)",99="Hall1 (G1)",73="Hall2 (E7)",75="Hall3 (E9)",74="Hall4 (E8)",95="Hall5 (F13)",96="Hall6 (F14)",98="Hall7 (G0)",97="Hall8 (F15)",68="VR1 (E2)",69="VR2 (E3)",70="VR3 (E4)",71="VR4 (E5)" +launchFuelAdderPercent = scalar, S08, 1880, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 1881, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 1882, "", 1, 0, 0, 32000, 0 +coastingFuelCutRpmHigh = scalar, S16, 1884, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 1886, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 1888, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 1890, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 1892, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 1894, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 1896, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +highPressureFuel_v1 = scalar, F32, 1900, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 1904, "kPa", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 1908, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 1912, "kPa", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 1916, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +lowPressureFuel_v1 = scalar, F32, 1920, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 1924, "kPa", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 1928, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 1932, "kPa", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 1936, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 1940, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 1948, 16 +scriptCurveName2 = string, ASCII, 1964, 16 +scriptCurveName3 = string, ASCII, 1980, 16 +scriptCurveName4 = string, ASCII, 1996, 16 +scriptCurveName5 = string, ASCII, 2012, 16 +scriptCurveName6 = string, ASCII, 2028, 16 +scriptTableName1 = string, ASCII, 2044, 16 +scriptTableName2 = string, ASCII, 2060, 16 +scriptTableName3 = string, ASCII, 2076, 16 +scriptTableName4 = string, ASCII, 2092, 16 +scriptSettingName1 = string, ASCII, 2108, 16 +scriptSettingName2 = string, ASCII, 2124, 16 +scriptSettingName3 = string, ASCII, 2140, 16 +scriptSettingName4 = string, ASCII, 2156, 16 +scriptSettingName5 = string, ASCII, 2172, 16 +scriptSettingName6 = string, ASCII, 2188, 16 +scriptSettingName7 = string, ASCII, 2204, 16 +scriptSettingName8 = string, ASCII, 2220, 16 +tChargeAirCoefMin = scalar, F32, 2236, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2240, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2244, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2248, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2252, "deg/sec", 1, 0, 0, 100, 1 +etb_iTermMin = scalar, S16, 2256, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2258, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2260, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2264, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2268, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2272, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2274, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2276, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2278, "", 1, 0, -30000, 30000, 0 +etbRocExpAverageLength = scalar, S16, 2280, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2282, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2284, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2288, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2289, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2290, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2292, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2293, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2294, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2296, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2300, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2301, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2302, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2303, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2304, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2305, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2306, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2307, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2308, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2309, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2310, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2311, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2312, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2320, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2321, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2322, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2323, "RPM", 50.0, 0, 0, 12000, 0 +gppwm1_pin = bits, U16, 2324, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +gppwm1_dutyIfError = scalar, U08, 2326, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2328, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2330, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2331, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2332, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm1_rpmAxis = bits, U08, 2333, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm1_loadBins = array, S16, 2334, [8], "load", 0.1, 0, -1000, 1000, 1 +gppwm1_rpmBins = array, S16, 2350, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2366, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2432, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +gppwm2_dutyIfError = scalar, U08, 2434, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2436, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2438, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2439, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2440, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm2_rpmAxis = bits, U08, 2441, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm2_loadBins = array, S16, 2442, [8], "load", 0.1, 0, -1000, 1000, 1 +gppwm2_rpmBins = array, S16, 2458, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2474, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2540, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +gppwm3_dutyIfError = scalar, U08, 2542, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2544, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2546, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2547, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2548, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm3_rpmAxis = bits, U08, 2549, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm3_loadBins = array, S16, 2550, [8], "load", 0.1, 0, -1000, 1000, 1 +gppwm3_rpmBins = array, S16, 2566, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 2582, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 2648, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +gppwm4_dutyIfError = scalar, U08, 2650, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 2652, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 2654, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 2655, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 2656, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm4_rpmAxis = bits, U08, 2657, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm4_loadBins = array, S16, 2658, [8], "load", 0.1, 0, -1000, 1000, 1 +gppwm4_rpmBins = array, S16, 2674, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 2690, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 2756, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 2758, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 2760, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 2762, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 2764, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 2766, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 2768, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 2770, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 2772, "us", 1, 0, 0, 10000, 0 +tcu_solenoid_mode1 = bits, U08, 2774, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 2775, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 2776, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 2777, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 2778, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 2779, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 2780, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 2796, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 2800, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 2804, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 2808, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 2812, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 2816, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 2820, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 2824, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 2828, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 2832, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 2836, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 2840, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 2844, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 2848, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 2852, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 2856, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 2860, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 2864, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 2868, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 2872, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 2876, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 2880, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 2884, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 2888, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 2892, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 2896, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 2900, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 2904, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 2908, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 2912, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 2916, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 2920, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 2924, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 2928, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 2932, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 2936, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 2940, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 2941, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 2942, "sec", 0.1, 0, 0, 10, 1 +acSwitchMode = bits, U08, 2943, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +fordInjectorSmallPulseBreakPoint = scalar, U16, 2944, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 2946, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 2950, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 2951, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 2952, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +hpfpPeakPos = scalar, U08, 2953, "deg", 1, 0, 0, 255, 0 +hpfpMinAngle = scalar, U08, 2954, "deg", 1, 0, 0, 255, 0 +vinNumber = string, ASCII, 2955, 17 +hpfpPumpVolume = scalar, U16, 2972, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 2974, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 2975, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 2976, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 2978, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 2980, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 2982, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 2998, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3014, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3022, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3038, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3238, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3258, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3268, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3368, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3388, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3398, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +stepper_raw_output2 = bits, U16, 3400, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +stepper_raw_output3 = bits, U16, 3402, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +stepper_raw_output4 = bits, U16, 3404, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +gearRatio1 = scalar, U16, 3406, "ratio", 0.01, 0, 0, 10, 2 +gearRatio2 = scalar, U16, 3408, "ratio", 0.01, 0, 0, 10, 2 +gearRatio3 = scalar, U16, 3410, "ratio", 0.01, 0, 0, 10, 2 +gearRatio4 = scalar, U16, 3412, "ratio", 0.01, 0, 0, 10, 2 +gearRatio5 = scalar, U16, 3414, "ratio", 0.01, 0, 0, 10, 2 +gearRatio6 = scalar, U16, 3416, "ratio", 0.01, 0, 0, 10, 2 +gearRatio7 = scalar, U16, 3418, "ratio", 0.01, 0, 0, 10, 2 +gearRatio8 = scalar, U16, 3420, "ratio", 0.01, 0, 0, 10, 2 +vvtActivationDelayMs = scalar, U16, 3422, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3424, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3432, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3440, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3448, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3456, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3464, [8], "", 0.01, 0, 0, 2.5, 2 +gearControllerMode = bits, U08, 3472, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3473, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3474, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3476, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +auxLinear1_v1 = scalar, F32, 3480, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3484, "kPa", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3488, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3492, "kPa", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3496, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +auxLinear2_v1 = scalar, F32, 3500, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3504, "kPa", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 3508, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 3512, "kPa", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 3516, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +tcu_tcc_onoff_solenoid_mode = bits, U08, 3518, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_mode = bits, U08, 3519, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 3520, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 3522, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 3524, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +tcu_pc_solenoid_pin_mode = bits, U08, 3526, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_pin_mode = bits, U08, 3527, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 3528, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 3530, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +tcu_32_solenoid_freq = scalar, U16, 3532, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 3534, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +etbMinimumPosition = scalar, F32, 3536, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 3540, "", 1, 0, 0, 20000, 0 +sentEtbType = bits, S08, 3542, [0:1], "None", "GM type 1", "Ford type 1" +fuelPressureSensorMode = bits, U08, 3543, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 3544, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +luaDigitalInputPins2 = bits, U16, 3546, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +luaDigitalInputPins3 = bits, U16, 3548, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +luaDigitalInputPins4 = bits, U16, 3550, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +luaDigitalInputPins5 = bits, U16, 3552, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +luaDigitalInputPins6 = bits, U16, 3554, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +luaDigitalInputPins7 = bits, U16, 3556, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +luaDigitalInputPins8 = bits, U16, 3558, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +tpsTspCorrValuesBins = array, U08, 3560, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 3564, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 3566, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 3568, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 3570, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 3571, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 3572, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 3573, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 3574, "%", 1, 0, 0, 100, 0 +instantRpmRange = scalar, U08, 3575, "deg", 1, 0, 0, 250, 0 +ALSIdleAdd = scalar, S32, 3576, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 3580, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, S32, 3584, "", 1, 0, 0.1, 2, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 3588, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 3589, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 3590, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3591, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 3592, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 3593, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 3594, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 3595, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 3596, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 3597, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 3598, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 +ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 +ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",16="Analog Inputs 1 (C5)",9="Analog Inputs 2 (B0)",8="Analog Inputs 3 (A7)",15="Analog Inputs 4 (C4)",6="Analog Inputs 5 (A5)",7="Analog Inputs 6 (A6)",4="Analog Inputs 7 (A3)",5="Analog Inputs 8 (A4)",2="Analog Inputs 9 (A1)",11="Analog Inputs Knock 1 (C0)",12="Analog Inputs Knock 2 (C1)",10="On-board Battery Sense (B1)",3="On-board MAP (A2)",14="Primary On-board O2 (C3)",1="Secondary On-board O2 (A0)" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",28="BARO SCL (B10)",29="BARO SDA (B11)",50="CAN 1 RX (D0)",51="CAN 1 TX (D1)",23="CAN 2 RX (B5)",24="CAN 2 TX (B6)",111="Communication LED (G13)",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",42="EGT1 CS (C8)",43="EGT2 CS (C9)",110="Error LED (G12)",81="High Side 1 (E15)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",76="High Side 6 (E10)",106="High Side 7 (G8)",113="High Side 8 (G15)",56="Low Side 1 (D6)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",57="Low Side 2 (D7)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",108="Running LED (G10)",21="SD CS1 (B3)",22="SD CS2 (B4)",32="SPI2 MISO (B14)",33="SPI2 MOSI (B15)",31="SPI2 SCK (B13)",45="SPI3 MISO (C11)",46="SPI3 MOSI (C12)",44="SPI3 SCK (C10)",40="Stepper Control (C6)",10="Stepper Direction (A8)",41="Stepper Disable (C7)",12="USART1 RX (A10)",11="USART1 TX (A9)",107="USART6 RX (G9)",112="USART6 TX (G14)",109="Warning LED (G11)" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 +#if LAMBDA +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +#else +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 +#endif +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 +[SettingContextHelp] + engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" + sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" + launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster" + engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm" + multisparkMaxRpm = "Disable multispark above this engine speed." + maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." + maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." + maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." + multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC." + multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" + ignitionMode = "Single coil = distributor\nIndividual coils = one coil per cylinder (COP, coil-near-plug), requires sequential mode\nWasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder\nTwo distributors = A pair of distributors, found on some BMW, Toyota and other engines" + injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min" + injector_battLagCorr = "ms delay between injector open and close dead times" + isForcedInduction = "Does the vehicle have a turbo or supercharger?" + 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." + disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running." + enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)." + etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode." + isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position." + useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" + useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" + tpsMax = "Full throttle, 1 volt = 200 units" + tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." + tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped." + cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel." + cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm." + ignitionDwellForCrankingMs = "Dwell duration while cranking" + etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle." + etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed." + map_samplingAngle = "MAP averaging sampling start crank degree angle" + map_samplingWindow = "MAP averaging angle crank degree duration" + map_sensor_lowValue = "kPa value at low volts" + map_sensor_highValue = "kPa value at high volts" + clt_tempC_1 = "these values are in Celcius" + clt_bias_resistor = "Pull-up resistor value on your board" + iat_tempC_1 = "these values are in Celcius" + iat_bias_resistor = "Pull-up resistor value on your board" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" + displacement = "Engine displacement in litres" + cylindersCount = "Number of cylinder the engine has." + benchTestOnTime = "Duration of each test pulse" + cylinderBore = "Cylinder diameter in mm." + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS commonly only used for NA engines\nSpeed Density requires MAP sensor and is the default choice for may installs\nMAF air charge is a cylinder filling based method that uses a mass air flow sensor." + crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." + injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation"." + boostControlMinRpm = "Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases." + boostControlMinTps = "Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases." + boostControlMinMap = "Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases." + timingMode = "Dynamic uses the timing map to decide the ignition timing, Static timing fixes the timing to the value set below (only use for checking static timing with a timing light)." + benchTestCount = "How many test bench pulses do you want" + crankingTimingAngle = "Ignition advance angle used during engine cranking, 5-10 degrees will work as a base setting for most engines.\nThere is tapering towards running timing advance" + gapTrackingLengthOverride = "How many consecutive gap rations have to match expected ranges for sync to happen" + maxIdleVss = "Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed)." + minOilPressureAfterStart = "Expected oil pressure after starting the engine. If oil pressure does not reach this level within 5 seconds of engine start, fuel will be cut. Set to 0 to disable and always allow starting." + fixedModeTiming = "This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing\nThis mode is useful when adjusting distributor location." + globalTriggerAngleOffset = "Angle between Top Dead Center (TDC) and the first trigger event.\nPositive value in case of synchnization point before TDC and negative in case of synchnization point after TDC\n.Knowing this angle allows us to control timing and other angles in reference to TDC." + analogInputDividerCoefficient = "Ratio/coefficient of input voltage dividers on your PCB. For example, use '2' if your board divides 5v into 2.5v. Use '1.66' if your board divides 5v into 3v." + vbattDividerCoeff = "This is the ratio of the resistors for the battery voltage, measure the voltage at the battery and then adjust this number until the gauge matches the reading." + fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" + fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" + driveWheelRevPerKm = "Number of revolutions per kilometer for the wheels your vehicle speed sensor is connected to. Use an online calculator to determine this based on your tire size." + canSleepPeriodMs = "CANbus thread period in ms" + tps1_1AdcChannel = "First throttle body, first sensor" + vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB." + fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." + tps2_1AdcChannel = "Second throttle body, first sensor" + idle_derivativeFilterLoss = "0.1 is a good default value" + trailingSparkAngle = "just a temporary solution" + trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" + airByRpmTaper = "Extra air taper amount" + boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." + throttlePedalPositionAdcChannel = "Throttle pedal position first channel" + camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts. 1" + camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts. 2" + camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts. 3" + camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts. 4" + throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata" + baroSensor_lowValue = "kPa value at low volts" + baroSensor_highValue = "kPa value at high volts" + manIdlePosition = "Value between 0 and 100 used in Manual mode" + knockRetardAggression = "Ignition timing to remove when a knock event occurs." + knockRetardReapplyRate = "After a knock event, reapply timing at this rate." + engineSyncCam = "Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync." + vssFilterReciprocal = "Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response." + vssGearRatio = "Number of turns of your vehicle speed sensor per turn of the wheels. For example if your sensor is on the transmission output, enter your axle/differential ratio. If you are using a hub-mounted sensor, enter a value of 1.0." + vssToothCount = "Number of pulses output per revolution of the shaft where your VSS is mounted. For example, GM applications of the T56 output 17 pulses per revolution of the transmission output shaft." + idleVeOverrideMode = "Override the Y axis (load) value used for only the Idle VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this." + o2heaterPin = "On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking." + injectionPins1 = "injectionPins 1" + injectionPins2 = "injectionPins 2" + injectionPins3 = "injectionPins 3" + injectionPins4 = "injectionPins 4" + injectionPins5 = "injectionPins 5" + injectionPins6 = "injectionPins 6" + injectionPins7 = "injectionPins 7" + injectionPins8 = "injectionPins 8" + injectionPins9 = "injectionPins 9" + injectionPins10 = "injectionPins 10" + injectionPins11 = "injectionPins 11" + injectionPins12 = "injectionPins 12" + ignitionPins1 = "ignitionPins 1" + ignitionPins2 = "ignitionPins 2" + ignitionPins3 = "ignitionPins 3" + ignitionPins4 = "ignitionPins 4" + ignitionPins5 = "ignitionPins 5" + ignitionPins6 = "ignitionPins 6" + ignitionPins7 = "ignitionPins 7" + ignitionPins8 = "ignitionPins 8" + ignitionPins9 = "ignitionPins 9" + ignitionPins10 = "ignitionPins 10" + ignitionPins11 = "ignitionPins 11" + ignitionPins12 = "ignitionPins 12" + throttlePedalPositionSecondAdcChannel = "Throttle pedal, secondary channel." + malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot." + clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down" + auxFastSensor1_adcChannel = "Useful in Research&Development phase" + tps1_2AdcChannel = "First throttle body, second sensor." + tps2_2AdcChannel = "Second throttle body, second sensor." + idle_antiwindupFreq = "0.1 is a good default value" + triggerInputPins1 = "triggerInputPins 1" + triggerInputPins2 = "triggerInputPins 2" + mc33_t_min_boost = "Minimum allowed time for the boost phase. If the boost target current is reached before this time elapses, it is assumed that the injector has failed short circuit." + canTxPin = "set_can_tx_pin X" + canRxPin = "set_can_rx_pin X" + acIdleExtraOffset = "Additional idle % while A/C is active" + finalGearRatio = "Ratio between the wheels and your transmission output." + wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!" + wastegatePositionMax = "Voltage when the wastegate is fully open.\nYou probably don't have one of these!\n1 volt = 1000 units" + secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve" + tunerStudioSerialSpeed = "Secondary TTL channel baud rate" + compressionRatio = "Just for reference really, not taken into account by any logic at this point" + triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" + triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" + isSdCardEnabled = "enable sd/disable sd" + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." + useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" + measureMapOnlyInOneCylinder = "Useful for individual intakes" + isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." + coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." + useIacTableForCoasting = "Override the IAC position during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars or engines that have trouble returning to idle." + disableEtbWhenEngineStopped = "Allows disabling the ETB when the engine is stopped. You may not like the power draw or PWM noise from the motor, so this lets you turn it off until it's necessary." + pauseEtbControl = "Disable the electronic throttle motor and DC idle motor for testing.\nThis mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle." + enableAemXSeries = "AEM X-Series or rusEFI Wideband" + logicAnalyzerPins1 = "logicAnalyzerPins 1" + logicAnalyzerPins2 = "logicAnalyzerPins 2" + logicAnalyzerPins3 = "logicAnalyzerPins 3" + logicAnalyzerPins4 = "logicAnalyzerPins 4" + mc33_hvolt = "Boost Voltage" + minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost." + acFanPin = "Optional Radiator Fan used with A/C" + idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle." + applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." + clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up" + max31855_cs1 = "max31855_cs 1" + max31855_cs2 = "max31855_cs 2" + max31855_cs3 = "max31855_cs 3" + max31855_cs4 = "max31855_cs 4" + max31855_cs5 = "max31855_cs 5" + max31855_cs6 = "max31855_cs 6" + max31855_cs7 = "max31855_cs 7" + max31855_cs8 = "max31855_cs 8" + flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" + stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0" + etbMaximumPosition = "Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open." + sdCardLogFrequency = "Rate the ECU will log to the SD card, in hz (log lines per second)." + starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running" + mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies." + idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling. If you have an electronic throttle, this checks accelerator pedal position instead of throttle position, and should be set to 1-2%." + startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed" + lambdaProtectionTimeout = "Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed" + scriptSetting1 = "scriptSetting 1" + scriptSetting2 = "scriptSetting 2" + scriptSetting3 = "scriptSetting 3" + scriptSetting4 = "scriptSetting 4" + scriptSetting5 = "scriptSetting 5" + scriptSetting6 = "scriptSetting 6" + scriptSetting7 = "scriptSetting 7" + scriptSetting8 = "scriptSetting 8" + sensorChartMode = "rusEFI console Sensor Sniffer mode" + useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve" + enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration." + stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." + verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" + invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." + useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" + etbIo1_controlPin = "Acts as EN pin in two-wire mode" + etbIo2_controlPin = "Acts as EN pin in two-wire mode" + boostControlPin = "Wastegate control Solenoid" + boostPid_offset = "Linear addition to PID logic" + boostPid_periodMs = "PID dTime" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" + launchSpeedThreshold = "Disabled above this speed" + launchTimingRpmRange = "Range from Launch RPM for Timing Retard to activate" + launchFuelAdded = "Extra Fuel Added" + launchBoostDuty = "Duty Cycle for the Boost Solenoid" + hardCutRpmRange = "Range from Launch RPM to activate Hard Cut" + stft_maxIdleRegionRpm = "Below this RPM, the idle region is active" + stft_maxOverrunLoad = "Below this engine load, the overrun region is active" + stft_minPowerLoad = "Above this engine load, the power region is active" + stft_deadband = "When close to correct AFR, pause correction. This can improve stability by not changing the adjustment if the error is extremely small, but is not required." + stft_minClt = "Below this temperature, correction is disabled." + stft_minAfr = "Below this AFR, correction is paused" + stft_maxAfr = "Above this AFR, correction is paused" + stft_startupDelay = "Delay after starting the engine before beginning closed loop correction." + stft_cellCfgs1_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." + stft_cellCfgs2_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." + stft_cellCfgs3_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." + stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." + stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" + stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." + tcu_solenoid1 = "tcu_solenoid 1" + tcu_solenoid2 = "tcu_solenoid 2" + tcu_solenoid3 = "tcu_solenoid 3" + tcu_solenoid4 = "tcu_solenoid 4" + tcu_solenoid5 = "tcu_solenoid 5" + tcu_solenoid6 = "tcu_solenoid 6" + etbFunctions1 = "etbFunctions 1" + etbFunctions2 = "etbFunctions 2" + luaOutputPins1 = "luaOutputPins 1" + luaOutputPins2 = "luaOutputPins 2" + luaOutputPins3 = "luaOutputPins 3" + luaOutputPins4 = "luaOutputPins 4" + luaOutputPins5 = "luaOutputPins 5" + luaOutputPins6 = "luaOutputPins 6" + luaOutputPins7 = "luaOutputPins 7" + luaOutputPins8 = "luaOutputPins 8" + vvtOffsets1 = "Angle between cam sensor and VVT zero position 1" + vvtOffsets2 = "Angle between cam sensor and VVT zero position 2" + vvtOffsets3 = "Angle between cam sensor and VVT zero position 3" + vvtOffsets4 = "Angle between cam sensor and VVT zero position 4" + gpPwmNote1 = "gpPwmNote 1" + gpPwmNote2 = "gpPwmNote 2" + gpPwmNote3 = "gpPwmNote 3" + gpPwmNote4 = "gpPwmNote 4" + widebandOnSecondBus = "Select which bus the wideband controller is attached to." + fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." + silentTriggerError = "Sometimes we have a performance issue while printing error" + canReadEnabled = "enable can_read/disable can_read" + canWriteEnabled = "enable can_write/disable can_write" + tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" + isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." + cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." + launchSparkCutEnable = "This is the Cut Mode normally used" + skippedWheelOnCam = "Where is your primary skipped wheel located?" + acSwitch = "A/C button input" + etbNeutralPosition = "Expected neutral position" + isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" + overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." + useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." + useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." + verboseTriggerSynchDetails = "Verbose info in console below engineSnifferRpmThreshold\nenable trigger_details" + isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed" + useSeparateAdvanceForCranking = "In Constant mode, timing is automatically tapered to running as RPM increases.\nIn Table mode, the "Cranking ignition advance" table is used directly." + useAdvanceCorrectionsForCranking = "This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle).\nYou probably don't need this." + flexCranking = "Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor." + useIacPidMultTable = "This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller" + launchSmoothRetard = "Interpolates the Ignition Retard from 0 to 100% within the RPM Range" + isPhaseSyncRequiredForIgnition = "Some engines are OK running semi-random sequential while other engine require phase synchronization" + useCltBasedRpmLimit = "If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value." + forceO2Heating = "If enabled, don't wait for engine start to heat O2 sensors. WARNING: this will reduce the life of your sensor, as condensation in the exhaust from a cold start can crack the sensing element." + invertVvtControlIntake = "If increased VVT duty cycle increases the indicated VVT angle, set this to 'advance'. If it decreases, set this to 'retard'. Most intake cams use 'advance', and most exhaust cams use 'retard'." + invertVvtControlExhaust = "If increased VVT duty cycle increases the indicated VVT angle, set this to 'advance'. If it decreases, set this to 'retard'. Most intake cams use 'advance', and most exhaust cams use 'retard'." + sdTriggerLog = "'Trigger' mode will write a high speed log of trigger events (warning: uses lots of space!). 'Normal' mode will write a standard MLG of sensors, engine function, etc. similar to the one captured in TunerStudio." + camInputsDebug1 = "camInputsDebug 1" + camInputsDebug2 = "camInputsDebug 2" + camInputsDebug3 = "camInputsDebug 3" + camInputsDebug4 = "camInputsDebug 4" + acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." + noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413" + mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" + wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration." + alternatorControl_offset = "Linear addition to PID logic" + alternatorControl_periodMs = "PID dTime" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" + etb_offset = "Linear addition to PID logic" + etb_periodMs = "PID dTime" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" + triggerInputDebugPins1 = "triggerInputDebugPins 1" + triggerInputDebugPins2 = "triggerInputDebugPins 2" + airTaperRpmRange = "RPM range above upper limit for extra air taper" + mapErrorDetectionTooLow = "kPa value which is too low to be true" + mapErrorDetectionTooHigh = "kPa value which is too high to be true" + multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark." + multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." + idleRpmPid_offset = "Linear addition to PID logic" + idleRpmPid_periodMs = "PID dTime" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" + wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment." + auxValves1 = "auxValves 1" + auxValves2 = "auxValves 2" + throttlePedalWOTVoltage = "Pedal in the floor" + startUpFuelPumpDuration = "on IGN voltage detection turn fuel pump on to build fuel pressure" + idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation" + targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain" + alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load." + afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup." + iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value" + auxSerialTxPin = "Auxiliary sensor serial, not to be confused with secondary calibration serial" + auxSerialRxPin = "Auxiliary sensor serial, not to be confused with secondary calibration serial" + tpsAccelLookback = "How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs." + coastingFuelCutVssLow = "Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears." + coastingFuelCutVssHigh = "Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears." + noFuelTrimAfterDfcoTime = "Pause closed loop fueling after deceleration fuel cut occurs. Set this to a little longer than however long is required for normal fueling behavior to resume after fuel cut." + ignTestOnTime = "Duration of each test pulse" + tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in." + auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" + auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" + injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." + debugMode = "See https://wiki.fome.tech/r/debugmode" + fan1ExtraIdle = "Additional idle % when fan #1 is active" + uartConsoleSerialSpeed = "Band rate for primary TTL" + tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" + tpsDecelEnleanmentMultiplier = "Magic multiplier, we multiply delta of TPS and get fuel squirt duration" + throttlePedalSecondaryWOTVoltage = "Pedal in the floor" + canBaudRate = "set can_baudrate" + veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this." + afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this." + mc33_hpfp_i_hold_off = "How long to deactivate power when hold current is reached before applying power again" + mc33_hpfp_max_hold = "Maximum amount of time the solenoid can be active before assuming a programming error" + stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)" + canOpenBLT = "Allow OpenBLT on Primary CAN" + can2OpenBLT = "Allow OpenBLT on Secondary CAN" + injectorFlowAsMassFlow = "Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s)." + benchTestOffTime = "Time between bench test pulses" + can2TxPin = "set_can2_tx_pin X" + can2RxPin = "set_can2_rx_pin X" + ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this." + injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors." + boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut." + fixedTiming = "Fixed timing, useful for TDC testing" + mapLowValueVoltage = "MAP voltage for low point" + mapHighValueVoltage = "MAP voltage for low point" + egoValueShift = "EGO value correction" + vvtPins1 = "VVT output solenoid pin for this cam 1" + vvtPins2 = "VVT output solenoid pin for this cam 2" + vvtPins3 = "VVT output solenoid pin for this cam 3" + vvtPins4 = "VVT output solenoid pin for this cam 4" + crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling." + minimumIgnitionTiming = "Minimim timing advance allowed. No spark on any cylinder will ever fire after this angle BTDC. For example, setting -10 here means no spark ever fires later than 10 deg ATDC. Note that this only concerns the primary spark: any trailing sparks or multispark may violate this constraint." + maximumIgnitionTiming = "Maximum timing advance allowed. No spark on any cylinder will ever fire before this angle BTDC. For example, setting 45 here means no spark ever fires earlier than 45 deg BTDC" + vvtMode1 = "vvtMode 1" + vvtMode2 = "vvtMode 2" + fan2ExtraIdle = "Additional idle % when fan #2 is active" + primingDelay = "Delay to allow fuel pressure to build before firing the priming pulse." + auxAnalogInputs1 = "auxAnalogInputs 1" + auxAnalogInputs2 = "auxAnalogInputs 2" + auxAnalogInputs3 = "auxAnalogInputs 3" + auxAnalogInputs4 = "auxAnalogInputs 4" + auxAnalogInputs5 = "auxAnalogInputs 5" + auxAnalogInputs6 = "auxAnalogInputs 6" + auxAnalogInputs7 = "auxAnalogInputs 7" + auxAnalogInputs8 = "auxAnalogInputs 8" + trailingCoilPins1 = "trailingCoilPins 1" + trailingCoilPins2 = "trailingCoilPins 2" + trailingCoilPins3 = "trailingCoilPins 3" + trailingCoilPins4 = "trailingCoilPins 4" + trailingCoilPins5 = "trailingCoilPins 5" + trailingCoilPins6 = "trailingCoilPins 6" + trailingCoilPins7 = "trailingCoilPins 7" + trailingCoilPins8 = "trailingCoilPins 8" + trailingCoilPins9 = "trailingCoilPins 9" + trailingCoilPins10 = "trailingCoilPins 10" + trailingCoilPins11 = "trailingCoilPins 11" + trailingCoilPins12 = "trailingCoilPins 12" + injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor" + fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here." + postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start" + postCrankingDurationSec = "Time over which to taper out after start enrichment" + auxTempSensor1_tempC_1 = "these values are in Celcius" + auxTempSensor1_bias_resistor = "Pull-up resistor value on your board" + auxTempSensor2_tempC_1 = "these values are in Celcius" + auxTempSensor2_bias_resistor = "Pull-up resistor value on your board" + etbWastegatePid_offset = "Linear addition to PID logic" + etbWastegatePid_periodMs = "PID dTime" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" + stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" + stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" + stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" + timing_offset_cylinder1 = "per-cylinder timing correction 1" + timing_offset_cylinder2 = "per-cylinder timing correction 2" + timing_offset_cylinder3 = "per-cylinder timing correction 3" + timing_offset_cylinder4 = "per-cylinder timing correction 4" + timing_offset_cylinder5 = "per-cylinder timing correction 5" + timing_offset_cylinder6 = "per-cylinder timing correction 6" + timing_offset_cylinder7 = "per-cylinder timing correction 7" + timing_offset_cylinder8 = "per-cylinder timing correction 8" + timing_offset_cylinder9 = "per-cylinder timing correction 9" + timing_offset_cylinder10 = "per-cylinder timing correction 10" + timing_offset_cylinder11 = "per-cylinder timing correction 11" + timing_offset_cylinder12 = "per-cylinder timing correction 12" + spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc." + mc33816_rstb = "ResetB" + brakePedalPin = "Brake pedal switch" + auxPid1_offset = "Linear addition to PID logic" + auxPid1_periodMs = "PID dTime" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" + auxPid2_offset = "Linear addition to PID logic" + auxPid2_periodMs = "PID dTime" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" + injectorCorrectionPolynomial1 = "injectorCorrectionPolynomial 1" + injectorCorrectionPolynomial2 = "injectorCorrectionPolynomial 2" + injectorCorrectionPolynomial3 = "injectorCorrectionPolynomial 3" + injectorCorrectionPolynomial4 = "injectorCorrectionPolynomial 4" + injectorCorrectionPolynomial5 = "injectorCorrectionPolynomial 5" + injectorCorrectionPolynomial6 = "injectorCorrectionPolynomial 6" + injectorCorrectionPolynomial7 = "injectorCorrectionPolynomial 7" + injectorCorrectionPolynomial8 = "injectorCorrectionPolynomial 8" + fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" + fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" + sentInputPins1 = "sentInputPins 1" + etbJamTimeout = "Time required to detect a stuck throttle." + etbExpAverageLength = "By the way ETB PID runs at 500hz, length in 1/500 of second here." + coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active." + coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle" + coastingFuelCutTps = "Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position." + coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold." + pidExtraForLowRpm = "Increases PID reaction for RPM , 50, , true + + filter = VBatt, "VBatt", VBatt < , 12, , true + + filter = minTps, "Minimum TPS", TPSValue, < , 1, , true + + +; +; in order to add new TunerStudio data point you need to change one of *.txt files mentioned in LiveData.yaml +; +[OutputChannels] + + ochGetCommand = "O%2o%2c" + +; see TS_OUTPUT_SIZE in console source code + ochBlockSize = 1380 + +; +; see TunerStudioOutputChannels struct +; + +sd_present = bits, U32, 0, [0:0] +sd_logging_internal = bits, U32, 0, [1:1] +triggerScopeReady = bits, U32, 0, [2:2] +antilagTriggered = bits, U32, 0, [3:3] +isFanOn = bits, U32, 0, [4:4] +isO2HeaterOn = bits, U32, 0, [5:5] +checkEngine = bits, U32, 0, [6:6] +needBurn = bits, U32, 0, [7:7] +sd_msd = bits, U32, 0, [8:8] +isFan2On = bits, U32, 0, [9:9] +acrActive = bits, U32, 0, [10:10] +toothLogReady = bits, U32, 0, [11:11] +isTpsError = bits, U32, 0, [12:12] +isCltError = bits, U32, 0, [13:13] +isMapError = bits, U32, 0, [14:14] +isIatError = bits, U32, 0, [15:15] +isTriggerError = bits, U32, 0, [16:16] +hasCriticalError = bits, U32, 0, [17:17] +isWarnNow = bits, U32, 0, [18:18] +isPedalError = bits, U32, 0, [19:19] +launchTriggered = bits, U32, 0, [20:20] +isTps2Error = bits, U32, 0, [21:21] +injectorFault = bits, U32, 0, [22:22] +ignitionFault = bits, U32, 0, [23:23] +isMainRelayOn = bits, U32, 0, [24:24] +isUsbConnected = bits, U32, 0, [25:25] +dfcoActive = bits, U32, 0, [26:26] +RPMValue = scalar, U16, 4, "RPM", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 +speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 +vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 +internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 +coolant = scalar, S16, 12, "deg C", 0.01, 0 +intake = scalar, S16, 14, "deg C", 0.01, 0 +auxTemp1 = scalar, S16, 16, "deg C", 0.01, 0 +auxTemp2 = scalar, S16, 18, "deg C", 0.01, 0 +TPSValue = scalar, S16, 20, "%", 0.01, 0 +throttlePedalPosition = scalar, S16, 22, "%", 0.01, 0 +tpsADC = scalar, U16, 24, "ADC", 1, 0 +rawMaf = scalar, U16, 26, "V", 0.001, 0 +mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 +MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 +baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 +lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 +tsConfigVersion = scalar, U32, 124, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 +m_knockThreshold = scalar, F32, 896, "", 1, 0 +m_knockCount = scalar, U32, 900, "", 1, 0 +m_maximumRetard = scalar, F32, 904, "", 1, 0 +; total TS size = 908 +m_requested_pump = scalar, F32, 908, "", 1, 0 +fuel_requested_percent = scalar, F32, 912, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 916, "", 1, 0 +noValve = bits, U32, 920, [0:0] +angleAboveMin = bits, U32, 920, [1:1] +isHpfpInactive = bits, U32, 920, [2:2] +nextLobe = scalar, F32, 924, "", 1, 0 +di_nextStart = scalar, F32, 928, "v", 1, 0 +; total TS size = 932 +m_deadtime = scalar, F32, 932, "ms", 1, 0 +pressureDelta = scalar, F32, 936, "kPa", 1, 0 +pressureRatio = scalar, F32, 940, "", 1, 0 +; total TS size = 944 +retardThresholdRpm = scalar, S32, 944, "", 1, 0 +combinedConditions = bits, U32, 948, [0:0] +launchActivatePinState = bits, U32, 948, [1:1] +isLaunchCondition = bits, U32, 948, [2:2] +isSwitchActivated = bits, U32, 948, [3:3] +isClutchActivated = bits, U32, 948, [4:4] +isValidInputPin = bits, U32, 948, [5:5] +activateSwitchCondition = bits, U32, 948, [6:6] +rpmCondition = bits, U32, 948, [7:7] +speedCondition = bits, U32, 948, [8:8] +tpsCondition = bits, U32, 948, [9:9] +; total TS size = 952 +isAntilagCondition = bits, U32, 952, [0:0] +ALSMinRPMCondition = bits, U32, 952, [1:1] +ALSMaxRPMCondition = bits, U32, 952, [2:2] +ALSMinCLTCondition = bits, U32, 952, [3:3] +ALSMaxCLTCondition = bits, U32, 952, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 952, [5:5] +isALSSwitchActivated = bits, U32, 952, [6:6] +ALSActivatePinState = bits, U32, 952, [7:7] +ALSSwitchCondition = bits, U32, 952, [8:8] +ALSTimerCondition = bits, U32, 952, [9:9] +fuelALSCorrection = scalar, F32, 956, "", 1, 0 +timingALSCorrection = scalar, S16, 960, "deg", 0.01, 0 +; total TS size = 964 +isTpsInvalid = bits, U32, 964, [0:0] +m_shouldResetPid = bits, U32, 964, [1:1] +isBelowClosedLoopThreshold = bits, U32, 964, [2:2] +isNotClosedLoop = bits, U32, 964, [3:3] +isZeroRpm = bits, U32, 964, [4:4] +hasInitBoost = bits, U32, 964, [5:5] +rpmTooLow = bits, U32, 964, [6:6] +tpsTooLow = bits, U32, 964, [7:7] +mapTooLow = bits, U32, 964, [8:8] +luaTargetAdd = scalar, S16, 968, "v", 0.5, 0 +boostOutput = scalar, S16, 970, "percent", 0.01, 0 +luaTargetMult = scalar, F32, 972, "v", 1, 0 +openLoopPart = scalar, F32, 976, "v", 1, 0 +luaOpenLoopAdd = scalar, F32, 980, "v", 1, 0 +boostControllerClosedLoopPart = scalar, S08, 984, "%", 0.5, 0 +boostControlTarget = scalar, S16, 986, "kPa", 0.03333333333333333, 0 +; total TS size = 988 +acButtonState = bits, U32, 988, [0:0] +m_acEnabled = bits, U32, 988, [1:1] +engineTooSlow = bits, U32, 988, [2:2] +engineTooFast = bits, U32, 988, [3:3] +noClt = bits, U32, 988, [4:4] +engineTooHot = bits, U32, 988, [5:5] +tpsTooHigh = bits, U32, 988, [6:6] +isDisabledByLua = bits, U32, 988, [7:7] +acCompressorState = bits, U32, 988, [8:8] +latest_usage_ac_control = scalar, S32, 992, "", 1, 0 +acSwitchLastChangeTimeMs = scalar, S32, 996, "", 1, 0 +; total TS size = 1000 +cranking = bits, U32, 1000, [0:0] +notRunning = bits, U32, 1000, [1:1] +disabledWhileEngineStopped = bits, U32, 1000, [2:2] +brokenClt = bits, U32, 1000, [3:3] +enabledForAc = bits, U32, 1000, [4:4] +hot = bits, U32, 1000, [5:5] +cold = bits, U32, 1000, [6:6] +; total TS size = 1004 +isPrime = bits, U32, 1004, [0:0] +engineTurnedRecently = bits, U32, 1004, [1:1] +isFuelPumpOn = bits, U32, 1004, [2:2] +ignitionOn = bits, U32, 1004, [3:3] +; total TS size = 1008 +isBenchTest = bits, U32, 1008, [0:0] +hasIgnitionVoltage = bits, U32, 1008, [1:1] +mainRelayState = bits, U32, 1008, [2:2] +delayedShutoffRequested = bits, U32, 1008, [3:3] +; total TS size = 1012 +lua_fuelAdd = scalar, F32, 1012, "g", 1, 0 +lua_fuelMult = scalar, F32, 1016, "", 1, 0 +lua_clutchUpState = bits, U32, 1020, [0:0] +lua_brakePedalState = bits, U32, 1020, [1:1] +lua_acRequestState = bits, U32, 1020, [2:2] +lua_luaDisableEtb = bits, U32, 1020, [3:3] +lua_luaIgnCut = bits, U32, 1020, [4:4] +sd_tCharge = scalar, S16, 1024, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1028, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1032, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1036, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1040, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1044, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1048, "", 1, 0 +hellenBoardId = scalar, S16, 1052, "id", 1, 0 +clutchUpState = bits, U32, 1056, [0:0] +clutchDownState = bits, U32, 1056, [1:1] +brakePedalState = bits, U32, 1056, [2:2] +startStopState = bits, U32, 1056, [3:3] +startStopStateToggleCounter = scalar, U32, 1060, "", 1, 0 +egtValue1 = scalar, F32, 1064, "", 1, 0 +egtValue2 = scalar, F32, 1068, "", 1, 0 +desiredRpmLimit = scalar, S16, 1072, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1076, "", 1, 0 +sparkCounter = scalar, U32, 1080, "", 1, 0 +fuelingLoad = scalar, F32, 1084, "", 1, 0 +ignitionLoad = scalar, F32, 1088, "", 1, 0 +veTableYAxis = scalar, U16, 1092, "%", 0.01, 0 +; total TS size = 1096 +tpsFrom = scalar, F32, 1096 +tpsTo = scalar, F32, 1100 +deltaTps = scalar, F32, 1104 +extraFuel = scalar, F32, 1108, "", 1, 0 +valueFromTable = scalar, F32, 1112, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1116, [0:0] +isBelowDecelThreshold = bits, U32, 1116, [1:1] +isTimeToResetAccumulator = bits, U32, 1116, [2:2] +isFractionalEnrichment = bits, U32, 1116, [3:3] +belowEpsilon = bits, U32, 1116, [4:4] +tooShort = bits, U32, 1116, [5:5] +fractionalInjFuel = scalar, F32, 1120, "", 1, 0 +accumulatedValue = scalar, F32, 1124, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1128, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1132, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1136, "", 1, 0 +cycleCnt = scalar, S32, 1140, "", 1, 0 +; total TS size = 1144 +hwEventCounters1 = scalar, U32, 1144, "", 1, 0 +hwEventCounters2 = scalar, U32, 1148, "", 1, 0 +hwEventCounters3 = scalar, U32, 1152, "", 1, 0 +hwEventCounters4 = scalar, U32, 1156, "", 1, 0 +hwEventCounters5 = scalar, U32, 1160, "", 1, 0 +hwEventCounters6 = scalar, U32, 1164, "", 1, 0 +vvtCamCounter = scalar, U32, 1168, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1172, "", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1176, "", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1180, "", 1, 0 +mapVvt_map_peak = scalar, U08, 1181, "", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1184, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1188, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1192, "", 1, 0 +; total TS size = 1196 +crankSynchronizationCounter = scalar, U32, 1196, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1200, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1204, "", 1, 0 +triggerStateIndex = scalar, U08, 1208, "", 1, 0 +vvtCounter = scalar, U08, 1209, "", 1, 0 +camResyncCounter = scalar, U08, 1210, "", 1, 0 +vvtStateIndex = scalar, U08, 1211, "", 1, 0 +; total TS size = 1212 +m_hasSynchronizedPhase = bits, U32, 1212, [0:0] +; total TS size = 1216 +wallFuelCorrection = scalar, F32, 1216, "", 1, 0 +wallFuel = scalar, F32, 1220, "", 1, 0 +; total TS size = 1224 +idleState = bits, S32, 1224, [0:2], "not important" +currentIdlePosition = scalar, F32, 1228 +baseIdlePosition = scalar, F32, 1232 +idleClosedLoop = scalar, F32, 1236 +iacByTpsTaper = scalar, F32, 1240 +throttlePedalUpState = scalar, S32, 1244, "", 1, 0 +mightResetPid = bits, U32, 1248, [0:0] +shouldResetPid = bits, U32, 1248, [1:1] +wasResetPid = bits, U32, 1248, [2:2] +mustResetPid = bits, U32, 1248, [3:3] +isCranking = bits, U32, 1248, [4:4] +isIacTableForCoasting = bits, U32, 1248, [5:5] +notIdling = bits, U32, 1248, [6:6] +needReset = bits, U32, 1248, [7:7] +isInDeadZone = bits, U32, 1248, [8:8] +isBlipping = bits, U32, 1248, [9:9] +looksLikeRunning = bits, U32, 1248, [10:10] +looksLikeCoasting = bits, U32, 1248, [11:11] +looksLikeCrankToIdle = bits, U32, 1248, [12:12] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] +idleTarget = scalar, S32, 1252, "", 1, 0 +targetRpmByClt = scalar, S32, 1256, "", 1, 0 +targetRpmAcBump = scalar, S32, 1260, "", 1, 0 +iacByRpmTaper = scalar, F32, 1264 +luaAdd = scalar, F32, 1268 +; total TS size = 1272 +idlePosition = scalar, F32, 1272, "per", 1, 0 +trim = scalar, F32, 1276, "", 1, 0 +luaAdjustment = scalar, F32, 1280, "per", 1, 0 +m_wastegatePosition = scalar, F32, 1284, "per", 1, 0 +etbFeedForward = scalar, F32, 1288 +etbIntegralError = scalar, F32, 1292, "", 1, 0 +etbCurrentTarget = scalar, F32, 1296, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1300, "%", 1, 0 +etbRevLimitActive = bits, U32, 1304, [0:0] +jamDetected = bits, U32, 1304, [1:1] +etbDutyRateOfChange = scalar, F32, 1308, "per", 1, 0 +etbDutyAverage = scalar, F32, 1312, "per", 1, 0 +etbTpsErrorCounter = scalar, U16, 1316, "count", 1, 0 +etbPpsErrorCounter = scalar, U16, 1318, "count", 1, 0 +etbErrorCode = scalar, S08, 1320, "", 1, 0 +jamTimer = scalar, U16, 1322, "sec", 0.01, 0 +; total TS size = 1324 +faultCode = scalar, U08, 1324, "", 1, 0 +heaterDuty = scalar, U08, 1325, "%", 1, 0 +pumpDuty = scalar, U08, 1326, "%", 1, 0 +tempC = scalar, U16, 1328, "C", 1, 0 +nernstVoltage = scalar, U16, 1330, "V", 0.001, 0 +esr = scalar, U16, 1332, "ohm", 1, 0 +; total TS size = 1336 +dcOutput0 = scalar, F32, 1336, "per", 1, 0 +isEnabled0_int = scalar, U08, 1340, "per", 1, 0 +isEnabled0 = bits, U32, 1344, [0:0] +; total TS size = 1348 +value0 = scalar, U16, 1348, "value", 1, 0 +value1 = scalar, U16, 1350, "value", 1, 0 +errorRate = scalar, F32, 1352, "ratio", 1, 0 +; total TS size = 1356 +throttleUseWotModel = bits, U32, 1356, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1360, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1364, "g/s", 1, 0 +; total TS size = 1368 +vvtTarget = scalar, U16, 1368, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1370, "%", 0.5, 0 +; total TS size = 1372 +lambdaCurrentlyGood = bits, U32, 1372, [0:0] +lambdaMonitorCut = bits, U32, 1372, [1:1] +lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 +; total TS size = 1380 + + + time = { timeNow } + + egoCorrectionForVeAnalyze = { 100 + fuelPidCorrection1 } + + wbo0_hasFault = { enableAemXSeries && (faultCode >= 3) } + +[PcVariables] + tuneCrcPcVariable = continuousChannelValue, tuneCrc16 + + wueAfrTargetOffset = array, S16, [ 16], ":1", 0.1, 0.0, -3.0, 3.0, 1; + wueAnalRecommend = array, U08, [ 16], "%", 1.00, 0.0, 100, 255.00, 0 + + gearCountArray = array, S08, [10], "Gear", 1, 0, -1, { 10 - 2 }, 0, noMsqSave + solenoidCountArray = array, U08, [6], "Solenoid", 1, 0, 1, 6, 0, noMsqSave + +; wall of debug mode :) +; https://rusefi.com/wiki/index.php?title=Manual:Debug_fields +; Alternator TPS Acceleration Idle Engine Load Acc Trigger Counters VVT1 PID Cranking Ignition Timing Fu Corr VSS SD Card Knock Wall Wetting ETB PID Executor InstantRpm CJ125 CAN MAP TLE8888 Analog inputs 2 Start ETB Autotune DYNO_VIEW LOGIC_ANALYZER Wideband TCU Lua VVT2 PID VVT3 PID VVT4 PID +; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 +; DBG_ALTERNATOR_PID DBG_TPS_ACCEL DBG_IDLE_CONTROL + debugFieldF1List = bits, U08, [0:7], "Alt: Controller Output", "From TPS", "", "Idle: Controller Output", "Idle output", " ", "", "VVT1: Controller Output"," ", "", "Ign IAT Corr", "", "", "Total SD", "last volts", "", "WW: Alpha", "ETB Controller Output", "", "", "df1", "df1", "InstantRpm", "", "24:df1", "CJ125: output", "", "MAP Average", "", "", "", "", "TPS1 Pri/Sec Diff", "", "", "", "","S unused" "", "Osc Amplitude", "", "", "", "" , "VSS", "", "WB: Pump DAC duty", "", "Lua Debug 1", "VVT2: Controller Output","VVT3: Controller Output","VVT4: Controller Output" + debugFieldF2List = bits, U08, [0:7], "Alt: I Term", "To TPS", "", "Idle: I Term", "Idle df2", " ", "", "VVT1: I Term", " ", "", "Ign CLT Corr", "", "", "Write Cnt","last filtered","", "WW: Beta", "ETB I Term", "", "", "df2", "df2", "InstantRPM Ratio","", "24:df2", "CJ125: i term", "", "MAP Duration", "", "", "", "", "TPS2 Pri/Sec Diff", "", "", "", "","S unused" "", "Duty Amplitude", "", "", "", "" , "Speed", "", "WB: ESR", "", "Lua Debug 2", "VVT2: I Term", "VVT3: I Term", "VVT4: I Term" + debugFieldF3List = bits, U08, [0:7], "Alt: Previous Error", "Current TPS<>TPS", "", "Idle: prev error", "Idle df3", "ICU sum", "", "VVT1: prev error", "", "", "", "", "", "Sync Cnt", "", "", "WW: film mass", "ETB err", "", "", "df3", "df3", "22df3", "", "24:df3", "CJ125: err", "", "MAP Fast", "", "", "", "", "TPS1/2 Diff", "", "", "", "","S unused" "", "Tu", "", "", "", "" , "DeltaSpeed", "", "WB: Nernst Voltage", "", "Lua Debug 3", "VVT2: prev error", "VVT3: prev error", "VVT4: prev error" + debugFieldF4List = bits, U08, [0:7], "Alt: I Gain", "Extra Fuel", "", "Idle: I Gain", "Idle df4", " ", "", "VVT1: I Gain", "", "", "Ign PID Adj", "", "", "File Cnt", "", "", "WW: m_cmd", "ETB I setting", "", "", "df4", "df4", "22df4", "", "24:df4", "CJ125: UA", "", "MAP Estimate", "", "", "", "", "Acc Pedal Pri/Sec Diff","", "", "", "","S unused" "", "Ku", "", "", "", "", "accel", "", "WB: Lambda", "", "Lua Debug 4", "VVT2: I Gain", "VVT3: I Gain", "VVT4: I Gain" + debugFieldF5List = bits, U08, [0:7], "Alt: D Gain", "df5", "", "Idle: D Gain", "Idle df5", " ", "df5", "VVT1: D Gain", "", "", "", "", "", "", "", "", "WW: film mass next","ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "24:df5", "CJ125: UR", "", "MAP Instant", "", "", "", "", "TPS1 Pri/Sec Ratio", "", "", "", "","S unused" "", "Kp", "", "", "", "", "", "", "", "", "Lua Debug 5", "VVT2: D Gain", "VVT3: D Gain", "VVT4: D Gain" + debugFieldF6List = bits, U08, [0:7], "Alt: D Term", "", "", "Idle: D Term", "Idle df6", " ", "", "VVT1: D Term", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "24:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "","S unused" "", "Ki", "", "", "", "", "", "", "", "", "Lua Debug 6", "VVT2: D Term", "VVT3: D Term", "VVT4: D Term" + debugFieldF7List = bits, U08, [0:7], "Alt: Max-Value", "", "", "Idle: Max-Value", "Idle df7", "", "", "VVT1: Max-Value", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "24:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "","S unused" "", "Kd", "", "", "", "", "", "", "", "", "Lua Debug 7", "", "", "" + debugFieldI1List = bits, U08, [0:7], "Alt: P Gain", "", "", "Idle: P Gain", "Idle di1", " ", "", "VVT1: P Gain", " ", "Cycle Counter", "Multispark Count", "", "", "", "hip corr", "", "", "ETB P-Gain", "t counter", "", "di1", "di1", "Spark Event Gap","", "24:di1", "CJ125: state", "read count","MAP counter", "", "", "", "SPI Counter", "", "", "", "", "","Start Count", "", "", "", "", "", "", "deltatime", "", "", "Solenoid 1 State", "Lua memory used","VVT2: P Gain", "VVT3: P Gain", "VVT4: P Gain" + debugFieldI2List = bits, U08, [0:7], "Alt: Offset", "", "", "Idle: Offset", "Idle di2", " ", "", "VVT1: Offset", "", "", "", "", "", "", "hip incor", "", "", "ETB di2", "invocationcounter", "", "di2", "di2", "Inj Event Gap", "", "24:di2", "", "write count","MAP raw ADC", "", "", "", "Latest Transmit","", "", "", "", "","Starter Enable", "", "", "", "", "", "", "", "", "", "Solenoid 2 State", "", "VVT2: Offset", "VVT3: Offset", "VVT4: Offset" + debugFieldI3List = bits, U08, [0:7], "Alt: Reset Cnt", "", "", "Idle: Reset Cnt", "Idle di3", " ", "", "VVT1: 10xTarget", "", "", "", "", "", "", "", "", "", "ETB di3", "s counter", "", "di3", "di3", "22di3", "", "24:di3", "", "write err", "", "", "", "", "Latest Received","", "", "", "", "","Starter Disable","", "", "", "", "", "", "", "", "", "Solenoid 3 State", "", "VVT2: 10xTarger", "VVT3: 10xTarger", "VVT4: 10xTarger" + debugFieldI4List = bits, U08, [0:7], "Alt: Period", "", "", "Idle: State", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "executor", "", "di4", "di4", "22di4", "", "24:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "","" "", "", "", "", "", "", "", "", "", "Solenoid 4 State", "", "", "", "" + debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "max executor", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "", "di5", "di5", "di5", "", "di5", "di5", "di5", "","" "", "", "", "", "", "", "", "", "", "Solenoid 5 State", "", "", "", "" + + wboFaultCodeList = bits, U08, [0:3], "OK", "Unk", "Unk", "failed to heat", "overheat", "underheat", "no supply" + + injModeList = bits, U08, [0:3], "Simultaneous", "Sequential", "Batch", "Single Point" + ignModeList = bits, U08, [0:3], "Single Coil", "Sequential", "Wasted", "Two Coils" + +; ClearReason + fuelIgnCutCodeList = bits, U08, [0:7], "None", "fatal error", "setting disabled", "RPM limit", "fault RPM limit", "boost cut", "oil pressure", "stop requested", "ETB problem", "launch control", "max injector duty", "flood clear", "engine sync", "kickstart", "ign off", "Lua", "ACR", "Lambda Prot" + +; TpsState + etbCutCodeList = bits, U08, [0:7], "None", "engine stopped", "TPS error", "PPS error", "TPS noise", "PID noise", "Lua", "Manual", "N/A", "Redundancy", "PPS noise" + +[ConstantsExtensions] + ; defaultValue is used to provide TunerStudio with a value to use in the case of + ; the constant not yet being initialized. This is primarily important if the + ; constant is used as a variable in the ini. + ; defaultValue = constantName, value; + defaultValue = wueAfrTargetOffset, -1.5 -1.4 -1.15 -0.95 -0.775 -0.65 -0.5625 -0.5 -0.4375 -0.375 -0.3125 -0.25 -0.1875 -0.125 -0.0625 0 + + ; this magic is best described in output_channels.txt search for 'maintainConstantValue' + ; TPS 1 Primary + maintainConstantValue = tpsMax, { (calibrationMode == 1 ) ? calibrationValue : tpsMax } + maintainConstantValue = tpsMin, { (calibrationMode == 2 ) ? calibrationValue : tpsMin } + + ; TPS 1 Secondary + maintainConstantValue = tps1SecondaryMax, { (calibrationMode == 6 ) ? calibrationValue : tps1SecondaryMax } + maintainConstantValue = tps1SecondaryMin, { (calibrationMode == 7 ) ? calibrationValue : tps1SecondaryMin } + + ; TPS 2 Primary + maintainConstantValue = tps2Max, { (calibrationMode == 8 ) ? calibrationValue : tps2Max } + maintainConstantValue = tps2Min, { (calibrationMode == 9 ) ? calibrationValue : tps2Min } + + ; TPS 2 Secondary + maintainConstantValue = tps2SecondaryMax, { (calibrationMode == 10 ) ? calibrationValue : tps2SecondaryMax } + maintainConstantValue = tps2SecondaryMin, { (calibrationMode == 11 ) ? calibrationValue : tps2SecondaryMin } + + ; ETB Auto Gain Calibration + maintainConstantValue = etb_pFactor, { (calibrationMode == 3 ) ? calibrationValue : etb_pFactor } + maintainConstantValue = etb_iFactor, { (calibrationMode == 4 ) ? calibrationValue : etb_iFactor } + maintainConstantValue = etb_dFactor, { (calibrationMode == 5 ) ? calibrationValue : etb_dFactor } + + maintainConstantValue = throttlePedalUpVoltage, { (calibrationMode == 12 ) ? calibrationValue : throttlePedalUpVoltage } + maintainConstantValue = throttlePedalSecondaryUpVoltage, { (calibrationMode == 12 ) ? calibrationValue2 : throttlePedalSecondaryUpVoltage } + + maintainConstantValue = throttlePedalWOTVoltage, { (calibrationMode == 13 ) ? calibrationValue : throttlePedalWOTVoltage } + maintainConstantValue = throttlePedalSecondaryWOTVoltage, { (calibrationMode == 13 ) ? calibrationValue2 : throttlePedalSecondaryWOTVoltage } + + requiresPowerCycle = binarySerialTxPin + requiresPowerCycle = binarySerialRxPin + requiresPowerCycle = tunerStudioSerialSpeed + requiresPowerCycle = auxSerialRxPin + requiresPowerCycle = auxSerialTxPin + + requiresPowerCycle = etb_use_two_wires + requiresPowerCycle = etbFreq + requiresPowerCycle = etbFunctions1 + requiresPowerCycle = etbFunctions2 + + requiresPowerCycle = idle_solenoidFrequency + requiresPowerCycle = boostPwmFrequency + requiresPowerCycle = alternatorPwmFrequency + requiresPowerCycle = vvtOutputFrequency + requiresPowerCycle = vvtPins1 + requiresPowerCycle = vvtPins2 + requiresPowerCycle = vvtPins3 + requiresPowerCycle = vvtPins4 + + requiresPowerCycle = auxAnalogInputs1 + requiresPowerCycle = auxAnalogInputs2 + requiresPowerCycle = auxAnalogInputs3 + requiresPowerCycle = auxAnalogInputs4 + requiresPowerCycle = auxAnalogInputs5 + requiresPowerCycle = auxAnalogInputs6 + requiresPowerCycle = auxAnalogInputs7 + requiresPowerCycle = auxAnalogInputs8 + + requiresPowerCycle = knockBandCustom + + defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 + readOnly = gearCountArray + defaultValue = solenoidCountArray, 1 2 3 4 5 6 7 8 + readOnly = solenoidCountArray + + +[CurveEditor] +; xAxis = leftValue, rightValue, step +; yAxis = bottomValue, topValue, step + + curve = knockThresholdCurve, "Engine knock threshold RPM based" + columnLabel = "RPM", "Threshold" + xAxis = 0, 8000, 9 + yAxis = 0, 8, 10 + xBins = knockNoiseRpmBins, RPMValue + yBins = knockBaseNoise + gauge = RPMGauge + + curve = scriptCurve1, "Script Curve #1" + columnLabel = "X", "Y" + xAxis = 0, 128, 10 + yAxis = -155, 150, 10 + xBins = scriptCurve1Bins + yBins = scriptCurve1 + showTextValues = true + + curve = scriptCurve2, "Script Curve #2" + columnLabel = "X", "Y" + xAxis = 0, 128, 10 + yAxis = -150, 150, 10 + xBins = scriptCurve2Bins + yBins = scriptCurve2 + showTextValues = true + + curve = scriptCurve3, "Script Curve #3" + columnLabel = "X", "Y" + xAxis = 0, 128, 10 + yAxis = -5, 5, 10 + xBins = scriptCurve3Bins + yBins = scriptCurve3 + showTextValues = true + + curve = scriptCurve4, "Script Curve #4" + columnLabel = "X", "Y" + xAxis = 0, 128, 10 + yAxis = -5, 5, 10 + xBins = scriptCurve4Bins + yBins = scriptCurve4 + showTextValues = true + + curve = scriptCurve5, "Script Curve #5" + columnLabel = "X", "Y" + xAxis = 0, 128, 10 + yAxis = -5, 5, 10 + xBins = scriptCurve5Bins + yBins = scriptCurve5 + showTextValues = true + + curve = scriptCurve6, "Script Curve #6" + columnLabel = "X", "Y" + xAxis = 0, 128, 10 + yAxis = -5, 5, 10 + xBins = scriptCurve6Bins + yBins = scriptCurve6 + showTextValues = true + + curve = dwellCorrection, "Dwell time base" + columnLabel = "RPM", "Dwell" + xAxis = 0, 8000, 9 + yAxis = 0, 8, 9 + xBins = sparkDwellRpmBins, RPMValue + yBins = sparkDwellValues + gauge = RPMGauge + + curve = dwellVoltageCorrection, "Dwell voltage correction" + columnLabel = "Battery Volts", "Multiplier" + xAxis = 6, 16, 11 + yAxis = 0, 3, 7 + xBins = dwellVoltageCorrVoltBins, VBatt + yBins = dwellVoltageCorrValues + gauge = VBattGauge + + curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" + columnLabel = "RPM", "Multiplier" + xAxis = 0, 8000, 9 + yAxis = 0, 3, 7 + xBins = tpsTspCorrValuesBins, RPMValue + yBins = tpsTspCorrValues + gauge = RPMGauge + + curve = primingPulse, "Priming pulse fuel mass" + columnLabel = "Coolant", "Prime Pulse" + xAxis = -40, 120, 9 + yAxis = 0, 1000, 9 + xBins = primeBins, coolant + yBins = primeValues + gauge = CLTGauge + + curve = map_samplingAngleCurve, "MAP Sampling Start Angle" + columnLabel = "RPM", "Angle" + xAxis = 0, 8000, 9 + yAxis = 0, 180, 10 + xBins = map_samplingAngleBins, RPMValue + yBins = map_samplingAngle + gauge = MAPGauge + + curve = map_samplingWindowCurve, "MAP Sampling Duration" + columnLabel = "RPM", "Window" + xAxis = 0, 8000, 9 + yAxis = 0, 180, 10 + xBins = map_samplingWindowBins, RPMValue + yBins = map_samplingWindow + gauge = MAPGauge + + curve = injectorsDeadTime, "Injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injector_battLagCorrBins, VBatt + yBins = injector_battLagCorr + gauge = VBattGauge + + curve = vrThresholdCurve1, "VR 1 Threshold" + columnLabel = "RPM", "Voltage" + xAxis = 0, 8000, 9 + yAxis = 0, 2.5, 6 + xBins = vrThreshold1_rpmBins, RPMValue + yBins = vrThreshold1_values + + curve = vrThresholdCurve2, "VR 2 Threshold" + columnLabel = "RPM", "Voltage" + xAxis = 0, 8000, 9 + yAxis = 0, 2.5, 6 + xBins = vrThreshold2_rpmBins, RPMValue + yBins = vrThreshold2_values + + curve = mafDecodingCurve, "MAF sensor" + columnLabel = "Voltage", "kg/hour" + xAxis = -1, 6, 10 + yAxis = -30, 1300, 10 + xBins = mafDecodingBins, rawMaf + yBins = mafDecoding + gauge = rawMafGauge + + curve = iatFuelCorrCurve, "Intake air temperature fuel Multiplier" + topicHelp = "iatFuelCorrCurveHelp" + columnLabel = "Air Temp", "Multiplier" + xAxis = -40, 120, 9 + yAxis = 0, 2, 11 + xBins = iatFuelCorrBins, intake + yBins = iatFuelCorr + gauge = IATGauge + + curve = cltTimingCorrCurve, "Warmup timing correction" + columnLabel = "Coolant", "Extra" + xAxis = -40, 120, 9 + yAxis = 0, 20, 9 + xBins = cltTimingBins, coolant + yBins = cltTimingExtra + gauge = CLTGauge + + curve = cltFuelCorrCurve, "Warmup fuel manual Multiplier" + columnLabel = "Coolant", "Multiplier" + xAxis = -40, 120, 9 + yAxis = 0, 3, 10 + xBins = cltFuelCorrBins, coolant + yBins = cltFuelCorr + gauge = CLTGauge + + curve = crankingCltCurve, "Cranking Coolant Temperature Multiplier" + columnLabel = "Coolant", "Multiplier" + xAxis = -40, 120, 9 + yAxis = 0, 3, 10 + xBins = crankingFuelBins, coolant + yBins = crankingFuelCoef + gauge = CLTGauge + + curve = crankingCltCurveE100, "Cranking Coolant Temperature Multiplier (Flex Fuel E85)" + columnLabel = "Coolant", "Multiplier" + xAxis = -40, 120, 9 + yAxis = 0, 3, 10 + xBins = crankingFuelBins, coolant + yBins = crankingFuelCoefE100 + gauge = CLTGauge + + curve = cltRevLimitCurve, "" + columnLabel = "Coolant", "RPM Limit" + xAxis = -40, 120, 9 + yAxis = 0, 8000, 9 + xBins = cltRevLimitRpmBins, coolant + yBins = cltRevLimitRpm + gauge = CLTGauge + + curve = etbTpsBiasCurve, "Electronic TB Bias Curve" + columnLabel = "TPS", "duty bias" + xAxis = 0, 50, 11 + yAxis = -40, 40, 9 + xBins = etbBiasBins, TPSValue + yBins = etbBiasValues + gauge = TPSGauge + + curve = crankingTpsCurve, "Cranking TPS Multiplier" + columnLabel = "TPS", "Multiplier" + xAxis = 0, 100, 11 + yAxis = 0, 3, 10 + xBins = crankingTpsBins, TPSValue + yBins = crankingTpsCoef + gauge = TPSGauge + + curve = crankingDurationCurve, "Cranking Duration Multiplier" + columnLabel = "Engine Cycle", "Multiplier" + xAxis = 0, 50, 11 + yAxis = 0, 5, 6 + xBins = crankingCycleBins + yBins = crankingCycleCoef + + + curve = cltIdleCurve, "Warmup Idle multiplier" + columnLabel = "Coolant", "Multiplier" + xAxis = -40, 120, 10 + yAxis = 0, 3, 10 + xBins = cltIdleCorrBins, coolant + yBins = cltIdleCorr + gauge = CLTGauge + + curve = iacCoastingCurve, "Coasting IAC Position" + columnLabel = "RPM", "Multiplier" + xAxis = -40, 120, 9 + yAxis = 0, 100, 10 + xBins = iacCoastingRpmBins, RPMValue + yBins = iacCoasting + gauge = idleAirValvePositionGauge + + curve = cltCrankingCurve, "Cranking Idle Air multiplier" + columnLabel = "Coolant", "Multiplier" + xAxis = -40, 120, 9 + yAxis = 0, 3, 10 + xBins = cltCrankingCorrBins, coolant + yBins = cltCrankingCorr + gauge = CLTGauge + + curve = cltIdleRPMCurve, "Idle Target RPM" + columnLabel = "Coolant", "RPM" + xAxis = -40, 120, 9 + yAxis = 0, 2400, 13 + xBins = cltIdleRpmBins, coolant + yBins = cltIdleRpm, RPMValue + gauge = CLTGauge + + curve = idleAdvanceCurve, "Idle Advance Angle" + columnLabel = "RPM", "degrees" + xAxis = 0, 2400, 13 + yAxis = -100, 100, 11 + xBins = idleAdvanceBins, RPMValue + yBins = idleAdvance + gauge = RPMGauge + + curve = crankingAdvanceCurve, "Cranking Advance Angle" + columnLabel = "RPM", "degrees" + xAxis = 0, 1200, 13 + yAxis = -30, 30, 11 + xBins = crankingAdvanceBins, RPMValue + yBins = crankingAdvance + gauge = RPMGauge + + curve = fuelLevelCurve, "Fuel Level" + columnLabel = "Voltage", "%" + xAxis = 0, 5, 6 + yAxis = 0, 100, 11 + xBins = fuelLevelBins + yBins = fuelLevelValues + gauge = fuelTankLevelGauge + + curve = wueAfrTargetOffsetCurve, "AFR Target Temperature Adjustment" + columnLabel = "Coolant", "AFR Offset" + xAxis = -40, 200, 9 + yAxis = -3, 1, 5 + xBins = cltFuelCorrBins, coolant + yBins = wueAfrTargetOffset + gauge = cltGauge + + curve = wueAnalyzer_warmup_curve, "Warmup Enrichment" + columnLabel = "Coolant", "Current WUE", "Coolant", "Corrected" + xAxis = -40, 200, 9 + yAxis = 90, 500, 6 + xBins = cltFuelCorrBins, coolant + yBins = cltFuelCorr + yBins = wueAnalRecommend + + lineLabel = "Warmup Correction" + lineLabel = "Recommended WUE" + + curve = hpfpLobeProfileCurve, "HPFP Lobe Profile" + columnLabel = "% pump volume", "angle" + xAxis = 0, 100, 11 + yAxis = 0, 240, 13 + xBins = hpfpLobeProfileQuantityBins + yBins = hpfpLobeProfileAngle + + curve = hpfpDeadtimeCurve, "HPFP Valve Deadtime" + columnLabel = "volts", "ms" + xAxis = 5, 15, 11 + yAxis = 0, 5, 6 + xBins = hpfpDeadtimeVoltsBins + yBins = hpfpDeadtimeMS + + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + + curve = tchargeCurve, "Charge temperature estimation coefficient" + columnLabel = "flow", "coefficient" + xAxis = 0, 500, 6 + yAxis = 0, 100, 5 + xBins = tchargeBins, mafEstimate + yBins = tchargeValues + gauge = tChargeGauge + + curve = tccLockCurve, "TCC Lock Curve" + columnLabel = "TPS", "Lock Speed", "Unlock Speed" + xAxis = 0, 100, 10 + yAxis = 0, 100, 10 + xBins = tcu_tccTpsBins, TPSValue + yBins = tcu_tccLockSpeed + yBins = tcu_tccUnlockSpeed + gauge = TPSGauge + + curve = pcPerGearCurve, "Transmission Line Pressure Control" + columnLabel = "Airmass", "" + xAxis = 0, 5, 10 + yAxis = 0, 100, 10 + xBins = tcu_pcAirmassBins, chargeAirMass + yBins = tcu_pcValsR + yBins = tcu_pcValsN + yBins = tcu_pcVals1 + yBins = tcu_pcVals2 + yBins = tcu_pcVals3 + yBins = tcu_pcVals4 + lineLabel = "R%" + lineLabel = "N%" + lineLabel = "1%" + lineLabel = "2%" + lineLabel = "3%" + lineLabel = "4%" + +curve = pcPerShiftCurve, "Transmission Line Pressure Control - Shift" + columnLabel = "Airmass", "" + xAxis = 0, 5, 10 + yAxis = 0, 100, 10 + xBins = tcu_pcAirmassBins, chargeAirMass + yBins = tcu_pcVals12 + yBins = tcu_pcVals23 + yBins = tcu_pcVals34 + yBins = tcu_pcVals21 + yBins = tcu_pcVals32 + yBins = tcu_pcVals43 + lineLabel = "1->2%" + lineLabel = "2->3%" + lineLabel = "3->4%" + lineLabel = "2->1%" + lineLabel = "3->2%" + lineLabel = "4->3%" + +curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" + columnLabel = "Speed", "%" + xAxis = 0, 200, 20 + yAxis = 0, 100, 10 + xBins = tcu_32SpeedBins, vehicleSpeedKph + yBins = tcu_32Vals + + curve = ignAdder1Bias, "Ignition adder 1 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = ignBlends1_blendBins, ignBlendParameter1 + yBins = ignBlends1_blendValues + + curve = ignAdder2Bias, "Ignition adder 2 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = ignBlends2_blendBins, ignBlendParameter2 + yBins = ignBlends2_blendValues + + curve = ignAdder3Bias, "Ignition adder 3 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = ignBlends3_blendBins, ignBlendParameter3 + yBins = ignBlends3_blendValues + + curve = ignAdder4Bias, "Ignition adder 4 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = ignBlends4_blendBins, ignBlendParameter4 + yBins = ignBlends4_blendValues + + curve = veBlend1Bias, "VE blend 1 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = veBlends1_blendBins, veBlendParameter1 + yBins = veBlends1_blendValues + + curve = veBlend2Bias, "VE blend 2 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = veBlends2_blendBins, veBlendParameter2 + yBins = veBlends2_blendValues + + curve = veBlend3Bias, "VE blend 3 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = veBlends3_blendBins, veBlendParameter3 + yBins = veBlends3_blendValues + + curve = veBlend4Bias, "VE blend 4 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = veBlends4_blendBins, veBlendParameter4 + yBins = veBlends4_blendValues + + curve = boostOpenLoopBlend1Bias, "Boost open loop blend 1 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = boostOpenLoopBlends1_blendBins, boostOpenLoopBlendParameter1 + yBins = boostOpenLoopBlends1_blendValues + + curve = boostOpenLoopBlend2Bias, "Boost open loop blend 2 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = boostOpenLoopBlends2_blendBins, boostOpenLoopBlendParameter2 + yBins = boostOpenLoopBlends2_blendValues + + curve = boostClosedLoopBlend1Bias, "Boost Closed loop blend 1 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = boostClosedLoopBlends1_blendBins, boostClosedLoopBlendParameter1 + yBins = boostClosedLoopBlends1_blendValues + + curve = boostClosedLoopBlend2Bias, "Boost Closed loop blend 2 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = boostClosedLoopBlends2_blendBins, boostClosedLoopBlendParameter2 + yBins = boostClosedLoopBlends2_blendValues + + curve = throttleEffectiveArea, "Throttle effective area" + columnLabel = "TPS", "normalized flow" + xAxis = 0, 100, 11 + yAxis = 0, 2, 5 + xBins = throttleEstimateEffectiveAreaBins, TPSValue + yBins = throttleEstimateEffectiveAreaValues + gauge = TPSGauge + +[TableEditor] + ; table_id, map3d_id, "title", page + +; move table into a panel? or find a way to add a link to https://rusefi.com//wiki/index.php?title=Manual:Software:TPSTPS + table = tpsTpsAccelTbl, tpsTpsAccelMap, "TPS/TPS Acceleration Extra Fuel(ms)", 1 + topicHelp = "tpstpsHelp" + xBins = tpsTpsAccelFromRpmBins, TPSValue + yBins = tpsTpsAccelToRpmBins, TPSValue + zBins = tpsTpsAccelTable + + table = boostTableTbl, boostMapOpen, "Boost control duty cycle (open loop)", 1 + xBins = boostRpmBins, RPMValue + yBins = boostTpsBins, TPSValue + zBins = boostTableOpenLoop + + table = boostTable2Tbl, boostMapClosed, "Boost control target (kPa)", 1 + xBins = boostRpmBins, RPMValue + yBins = boostTpsBins, TPSValue + zBins = boostTableClosedLoop + + table = vvtTable1Tbl, vvtTable1Map, "Intake VVT closed loop Target", 1 + xBins = vvtTable1RpmBins, RPMValue + yBins = vvtTable1LoadBins, fuelingLoad + zBins = vvtTable1 + + table = vvtTable2Tbl, vvtTable2Map, "Exhaust VVT closed loop Target", 1 + xBins = vvtTable2RpmBins, RPMValue + yBins = vvtTable2LoadBins, fuelingLoad + zBins = vvtTable2 + + + table = scriptTable1Tbl, scriptTable1Map, "Script Table #1", 1 + xBins = scriptTable1RpmBins, RPMValue + yBins = scriptTable1LoadBins, fuelingLoad + zBins = scriptTable1 + + table = scriptTable2Tbl, scriptTable2Map, "Script Table #2", 1 + xBins = scriptTable2RpmBins, RPMValue + yBins = scriptTable2LoadBins, fuelingLoad + zBins = scriptTable2 + + table = scriptTable3Tbl, scriptTable3Map, "Script Table #3", 1 + xBins = scriptTable3RpmBins, RPMValue + yBins = scriptTable3LoadBins, fuelingLoad + zBins = scriptTable3 + + table = scriptTable4Tbl, scriptTable4Map, "Script Table #4", 1 + xBins = scriptTable4RpmBins, RPMValue + yBins = scriptTable4LoadBins, fuelingLoad + zBins = scriptTable4 + + table = IgnRetardTableALS, IgnRetardALS, "Ignition adjustment", 1 + xBins = alsIgnRetardrpmBins, RPMValue + yBins = alsIgnRetardLoadBins, TPSValue + zBins = ALSTimingRetardTable + gridHeight = 4.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = FuelAdderTableALS, FuelAdderALS, "Fuel adjustment", 1 + xBins = alsFuelAdjustmentrpmBins, RPMValue + yBins = alsFuelAdjustmentLoadBins, TPSValue + zBins = ALSFuelAdjustment + gridHeight = 4.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = baroCorrTbl, baroCorrMap, "Baro Correction", 1 + xBins = baroCorrRpmBins, RPMValue + yBins = baroCorrPressureBins, baroPressure + zBins = baroCorrTable + ; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = ignitionTableTbl, ignitionTableMap, "Ignition Table", 1 + xBins = ignitionRpmBins, RPMValue + yBins = ignitionLoadBins, ignitionLoad + zBins = ignitionTable +; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = ignAdder1Table, ignAdder1Map, "Ignition adder 1", 1 + xBins = ignBlends1_rpmBins, RPMValue + yBins = ignBlends1_loadBins, ignitionLoad + zBins = ignBlends1_table + gridOrient = 250, 0, 340 + + table = ignAdder2Table, ignAdder2Map, "Ignition adder 2", 1 + xBins = ignBlends2_rpmBins, RPMValue + yBins = ignBlends2_loadBins, ignitionLoad + zBins = ignBlends2_table + gridOrient = 250, 0, 340 + + table = ignAdder3Table, ignAdder3Map, "Ignition adder 3", 1 + xBins = ignBlends3_rpmBins, RPMValue + yBins = ignBlends3_loadBins, ignitionLoad + zBins = ignBlends3_table + gridOrient = 250, 0, 340 + + table = ignAdder4Table, ignAdder4Map, "Ignition adder 4", 1 + xBins = ignBlends4_rpmBins, RPMValue + yBins = ignBlends4_loadBins, ignitionLoad + zBins = ignBlends4_table + gridOrient = 250, 0, 340 + + table = veBlend1Table, veBlend1Map, "VE blend 1", 1 + xBins = veBlends1_rpmBins, RPMValue + yBins = veBlends1_loadBins, fuelingLoad + zBins = veBlends1_table + gridOrient = 250, 0, 340 + + table = veBlend2Table, veBlend2Map, "VE blend 2", 1 + xBins = veBlends2_rpmBins, RPMValue + yBins = veBlends2_loadBins, fuelingLoad + zBins = veBlends2_table + gridOrient = 250, 0, 340 + + table = veBlend3Table, veBlend3Map, "VE blend 3", 1 + xBins = veBlends3_rpmBins, RPMValue + yBins = veBlends3_loadBins, fuelingLoad + zBins = veBlends3_table + gridOrient = 250, 0, 340 + + table = veBlend4Table, veBlend4Map, "VE blend 4", 1 + xBins = veBlends4_rpmBins, RPMValue + yBins = veBlends4_loadBins, fuelingLoad + zBins = veBlends4_table + gridOrient = 250, 0, 340 + + table = boostOpenBlend1Table, boostOpenBlend1Map, "Boost open loop blend 1", 1 + xBins = boostOpenLoopBlends1_rpmBins, RPMValue + yBins = boostOpenLoopBlends1_loadBins, TPSValue + zBins = boostOpenLoopBlends1_table + gridOrient = 250, 0, 340 + + table = boostOpenBlend2Table, boostOpenBlend2Map, "Boost open loop blend 2", 1 + xBins = boostOpenLoopBlends2_rpmBins, RPMValue + yBins = boostOpenLoopBlends2_loadBins, TPSValue + zBins = boostOpenLoopBlends2_table + gridOrient = 250, 0, 340 + + table = boostClosedBlend1Table, boostClosedBlend1Map, "Boost closed loop blend 1", 1 + xBins = boostClosedLoopBlends1_rpmBins, RPMValue + yBins = boostClosedLoopBlends1_loadBins, TPSValue + zBins = boostClosedLoopBlends1_table + gridOrient = 250, 0, 340 + + table = boostClosedBlend2Table, boostClosedBlend2Map, "Boost closed loop blend 2", 1 + xBins = boostClosedLoopBlends2_rpmBins, RPMValue + yBins = boostClosedLoopBlends2_loadBins, TPSValue + zBins = boostClosedLoopBlends2_table + gridOrient = 250, 0, 340 + + table = ignitionIatCorrTableTbl, ignitionIatCorrTableMap, "Ignition Intake Air Temp correction", 1 + xBins = ignitionIatCorrTempBins, intake + yBins = ignitionIatCorrLoadBins, ignitionLoad + zBins = ignitionIatCorrTable +; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = veTableTbl, veTableMap, "VE Table", 1 + xyLabels = "RPM", "load" + xBins = veRpmBins, RPMValue + yBins = veLoadBins, veTableYAxis + zBins = veTable +; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = idleVeTableTbl, idleVeTable, "Idle VE" + xyLabels = "RPM", "load" + xBins = idleVeRpmBins, RPMValue + yBins = idleVeLoadBins, veTableYAxis + zBins = idleVeTable + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl1, fuelTrimMap1, "Fuel trim cyl 1", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims1_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl2, fuelTrimMap2, "Fuel trim cyl 2", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims2_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl3, fuelTrimMap3, "Fuel trim cyl 3", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims3_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl4, fuelTrimMap4, "Fuel trim cyl 4", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims4_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl5, fuelTrimMap5, "Fuel trim cyl 5", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims5_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl6, fuelTrimMap6, "Fuel trim cyl 6", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims6_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl7, fuelTrimMap7, "Fuel trim cyl 7", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims7_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl8, fuelTrimMap8, "Fuel trim cyl 8", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims8_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl9, fuelTrimMap9, "Fuel trim cyl 9", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims9_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl10, fuelTrimMap10, "Fuel trim cyl 10", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims10_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl11, fuelTrimMap11, "Fuel trim cyl 11", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims11_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl12, fuelTrimMap12, "Fuel trim cyl 12", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims12_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = ignTrimTbl1, ignTrimMap1, "Ign trim cyl 1", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims1_table + + table = ignTrimTbl2, ignTrimMap2, "Ign trim cyl 2", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims2_table + + table = ignTrimTbl3, ignTrimMap3, "Ign trim cyl 3", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims3_table + + table = ignTrimTbl4, ignTrimMap4, "Ign trim cyl 4", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims4_table + + table = ignTrimTbl5, ignTrimMap5, "Ign trim cyl 5", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims5_table + + table = ignTrimTbl6, ignTrimMap6, "Ign trim cyl 6", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims6_table + + table = ignTrimTbl7, ignTrimMap7, "Ign trim cyl 7", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims7_table + + table = ignTrimTbl8, ignTrimMap8, "Ign trim cyl 8", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims8_table + + table = ignTrimTbl9, ignTrimMap9, "Ign trim cyl 9", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims9_table + + table = ignTrimTbl10, ignTrimMap10, "Ign trim cyl 10", 1 + xBins = ignTrimRpmBins, RPMValue + yBins = ignTrimLoadBins, ignitionLoad + zBins = ignTrims10_table + + table = ignTrimTbl11, ignTrimMap11, "Ign trim cyl 11", 1 + xBins = ignTrimRpmBins, RPMValue + yBins = ignTrimLoadBins, ignitionLoad + zBins = ignTrims11_table + + table = ignTrimTbl12, ignTrimMap12, "Ign trim cyl 12", 1 + xBins = ignTrimRpmBins, RPMValue + yBins = ignTrimLoadBins, ignitionLoad + zBins = ignTrims12_table + + table = mapEstimateTableTbl, mapEstimateTableMap, "MAP Estimate", 1 + xBins = mapEstimateRpmBins, RPMValue + yBins = mapEstimateTpsBins, TPSValue + zBins = mapEstimateTable + + table = injPhaseTableTbl, injPhaseTableMap, "Injection Phase", 1 + topicHelp = "fuelHelp" + xBins = injPhaseRpmBins, RPMValue + yBins = injPhaseLoadBins, fuelingLoad + zBins = injectionPhase +; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(Later)", "(Sooner)" + + table = pedalToTpsTbl, pedalToTpsMap, "ETB Pedal to TPS", 1 + xBins = pedalToTpsRpmBins, RPMValue + yBins = pedalToTpsPedalBins, throttlePedalPosition + zBins = pedalToTpsTable +; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(Later)", "(Sooner)" + + table = throttle2TrimTbl, throttle2TrimMap, "ETB #2 Trim", 1 + xBins = throttle2TrimRpmBins, RPMValue + yBins = throttle2TrimTpsBins, TPSValue + zBins = throttle2TrimTable + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + + table = maxKnockRetardTbl, maxKnockRetardMap, "Max knock retard", 1 + xBins = maxKnockRetardRpmBins, RPMValue + yBins = maxKnockRetardLoadBins, ignitionLoad + zBins = maxKnockRetardTable + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + +#if LAMBDA + table = lambdaTableTbl, lambdaTableMap, "Target Lambda Table", 1 +#else + table = afrTableTbl, afrTableMap, "Target AFR Table", 1 +#endif + xBins = lambdaRpmBins, RPMValue + yBins = lambdaLoadBins, afrTableYAxis + zBins = lambdaTable +; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = lambdaMaxDeviationTableTbl, lambdaMaxDeviationTableMap, "Maximum Lambda Deviation", 1 + xyLabels = "RPM", "" + xBins = lambdaMaxDeviationRpmBins, RPMValue + yBins = lambdaMaxDeviationLoadBins, afrTableYAxis + zBins = lambdaMaxDeviationTable + + table = iacPidMultTbl, iacPidMultMap, "IAC PID Multiplier Table", 1 + xBins = iacPidMultRpmBins, RPMValue + yBins = iacPidMultLoadBins, fuelingLoad + zBins = iacPidMultTable +; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(Later)", "(Sooner)" + + table = gppwm1Tbl, gppwm1Map, "GP#1", 1 + xyLabels = "RPM", "" + xBins = gppwm1_rpmBins, gppwmXAxis1 + yBins = gppwm1_loadBins, gppwmYAxis1 + zBins = gppwm1_table + + table = gppwm2Tbl, gppwm2Map, "GP#2", 1 + xyLabels = "RPM", "" + xBins = gppwm2_rpmBins, gppwmXAxis2 + yBins = gppwm2_loadBins, gppwmYAxis2 + zBins = gppwm2_table + + table = gppwm3Tbl, gppwm3Map, "GP#3", 1 + xyLabels = "RPM", "" + xBins = gppwm3_rpmBins, gppwmXAxis3 + yBins = gppwm3_loadBins, gppwmYAxis3 + zBins = gppwm3_table + + table = gppwm4Tbl, gppwm4Map, "GP#4", 1 + xyLabels = "RPM", "" + xBins = gppwm4_rpmBins, gppwmXAxis4 + yBins = gppwm4_loadBins, gppwmYAxis4 + zBins = gppwm4_table + + table = tcuSolenoidTableTbl, tcuSolenoidTableMap, "Solenoids Active By Gear", 1 + xBins = solenoidCountArray, tcuCurrentGear + yBins = gearCountArray, tcuCurrentGear + zBins = tcuSolenoidTable + xyLabels = "Solenoid", "Gear" + + table = hpfpTargetTable, hpfpTargetTableId, "HPFP Target Fuel Pressure", 1 + xBins = hpfpTargetRpmBins, RPMValue + yBins = hpfpTargetLoadBins, veTableYAxis + zBins = hpfpTarget + + table = hpfpCompensationTable, hpfpCompensationTableId, "HPFP Pump Compensation Factor", 1 + xBins = hpfpCompensationRpmBins, RPMValue + yBins = hpfpCompensationLoadBins, running_fuel + zBins = hpfpCompensation + + +[GaugeConfigurations] +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + +gaugeCategory = Trigger + triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 + triggerSyncGapRatioGauge = triggerSyncGapRatio,"triggerSyncGapRatio", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + triggerStateIndexGauge = triggerStateIndex,"triggerStateIndex", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + vvtSyncGapRatioGauge = vvtSyncGapRatio,"vvtSyncGapRatio", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + vvtStateIndexGauge = vvtStateIndex,"vvtStateIndex", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + triggerPrimaryFallGauge = triggerPrimaryFall,"triggerPrimaryFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + triggerPrimaryRiseGauge = triggerPrimaryRise,"triggerPrimaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + triggerSecondaryFallGauge = triggerSecondaryFall,"triggerSecondaryFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 + +gaugeCategory = Test Bench + testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 + testIgnIterGauge = testBenchIter, "Ignition Test Iterations", "count", 0, {ignTestCount}, 0, 0, {ignTestCount}, {ignTestCount}, 0, 0 + +gaugeCategory = LUA + luaInvocationCounterGauge = luaInvocationCounter,"luaInvocationCounter", "count", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + luaLastCycleDurationGauge = luaLastCycleDuration,"luaLastCycleDuration", "nt", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 + luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 + +gaugeCategory = Alternator Control + alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = Idle + idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 + idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + idleStatus_dTermGauge = idleStatus_dTerm,"Idle PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + idleStatus_outputGauge = idleStatus_output,"Idle PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = ETB PID + etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + etbStatus_errorGauge = etbStatus_error,"ETB 1 PID error", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + etbStatus_resetCounterGauge = etbStatus_resetCounter,"ETB 1 PID resetCounter", "", 0,100.0, 0,100.0, 0,100.0, 0,0 + + wgStatus_iTermGauge = wastegateDcStatus_iTerm,"WG PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + wgStatus_dTermGauge = wastegateDcStatus_dTerm,"WG PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + wgStatus_outputGauge = wastegateDcStatus_output,"WG PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + wgStatus_errorGauge = wastegateDcStatus_error,"WG PID error", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + wgStatus_resetCounterGauge = wastegateDcStatus_resetCounter,"WG PID resetCounter", "", 0,100.0, 0,100.0, 0,100.0, 0,0 + +gaugeCategory = CAN + canReadCounterGauge = canReadCounter,"canReadCounter", "", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + canWriteOkGauge = canWriteOk,"canWriteOk", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + canWriteNotOkGauge = canWriteNotOk,"canWriteNotOk", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + +gaugeCategory = GDI + di_nextStartGauge = di_nextStart,"DI: next start", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 + m_requested_pumpGauge = m_requested_pump,"DI: Pump Angle", "deg", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + fuel_requested_percentGauge = fuel_requested_percent,"DI: fuel_requested_percent", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 + fuel_requested_percent_piGauge = fuel_requested_percent_pi,"DI: fuel_requested_percent_pi", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 + ;todo see comment in HpfpQuantity class definition + ;m_I_sum_percentGauge = m_I_sum_percent,"DI: m_I_sum_percent", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 + ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 + highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 + +gaugeCategory = ECU Status + warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 + lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode1Gauge = recentErrorCode1, "Error#1", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode2Gauge = recentErrorCode2, "Error#2", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode3Gauge = recentErrorCode3, "Error#3", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode4Gauge = recentErrorCode4, "Error#4", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode5Gauge = recentErrorCode5, "Error#5", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode6Gauge = recentErrorCode6, "Error#6", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode7Gauge = recentErrorCode7, "Error#7", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode8Gauge = recentErrorCode8, "Error#8", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + firmwareVersionGauge = firmwareVersion , "ECU Software Version", "%", 0, 100, 0, 0, 100, 100, 0, 0 + timeSecondsGauge = seconds, "Uptime", "sec", 0, 100, 0, 0, 100, 100, 0, 0 + tuneCrc16Gauge = tuneCrc16, "Tune CRC16", "", 0, 64000, 0, 0, 64000, 64000, 0, 0 + +gaugeCategory = Debug + debugF1Gauge = debugFloatField1, {bitStringValue( debugFieldF1List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4 + debugF2Gauge = debugFloatField2, {bitStringValue( debugFieldF2List, debugMode )}, "", -100, 100, 0, 0, 100, 100, 4, 4 + debugF3Gauge = debugFloatField3, {bitStringValue( debugFieldF3List, debugMode )}, "", -100, 100, 0, 0, 100, 100, 4, 4 + debugF4Gauge = debugFloatField4, {bitStringValue( debugFieldF4List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4 + debugF5Gauge = debugFloatField5, {bitStringValue( debugFieldF5List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4 + debugF6Gauge = debugFloatField6, {bitStringValue( debugFieldF6List, debugMode )}, "", -100, 100, 0, 0, 100, 100, 4, 4 + debugF7Gauge = debugFloatField7, {bitStringValue( debugFieldF7List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4 + debugI1Gauge = debugIntField1, {bitStringValue( debugFieldI1List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0 + debugI2Gauge = debugIntField2, {bitStringValue( debugFieldI2List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0 + debugI3Gauge = debugIntField3, {bitStringValue( debugFieldI3List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0 + debugI4Gauge = debugIntField4, {bitStringValue( debugFieldI4List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0 + debugI5Gauge = debugIntField5, {bitStringValue( debugFieldI5List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0 + +gaugeCategory = Sensors - Basic + RPMGauge = RPMValue, "RPM - engine speed", "RPM", 0, {rpmHardLimit + 2000}, 200, {cranking_rpm}, {rpmHardLimit - 500}, {rpmHardLimit}, 0, 0 + CLTGauge = coolant, "Coolant temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 + IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 + afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 + lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 + VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 + MAPGauge = MAPValue, "MAP", "kPa", 0, 300, 10, 10, 200, 200, 0, 0 + massAirFlowValueGa = mafMeasured, "MAF", "kg/h", 0, 50, -999, -999, 999, 999, 1, 1 + +gaugeCategory = Sensors - Extra 1 + VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 + turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 + OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 + AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 + AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 + lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 + flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 + AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 + AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 + +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + +gaugeCategory = VVT + vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 + vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 + vvtPositionB2IGauge = vvtPositionB2I, "VVT: bank 2 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 + vvtPositionB2EGauge = vvtPositionB2E, "VVT: bank 2 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 + vvtTargets1Gauge = vvtTargets1, "VVT: bank 1 intake target", "deg", -60, 60, -60, -60, 60, 60, 0, 0 + vvtTargets2Gauge = vvtTargets2, "VVT: bank 1 exhaust target", "deg", -60, 60, -60, -60, 60, 60, 0, 0 + vvtTargets3Gauge = vvtTargets3, "VVT: bank 2 intake target", "deg", -60, 60, -60, -60, 60, 60, 0, 0 + vvtTargets4Gauge = vvtTargets4, "VVT: bank 2 exhaust target", "deg", -60, 60, -60, -60, 60, 60, 0, 0 + vvtOutput1Gauge = vvtStatus1_output, "vvt: output 1", "", 00, 100, -60, -60, 60, 60, 0, 0 + vvtOutput2Gauge = vvtStatus2_output, "vvt: output 2", "", 00, 100, -60, -60, 60, 60, 0, 0 + vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 + vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 + +gaugeCategory = Ignition + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 + ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + +gaugeCategory = Acceleration Enrichment + deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 + tpsAccelFuelGauge = tpsAccelFuel,"AE: TPS enrich", "ms", 0, 120, 10, 10, 100, 100, 1, 1 + wallFuelAmountGauge = wallFuelAmount, "AE: wall amount", "mg", 0, 100, 0, 0, 100, 100, 0, 0 + wallFuelCorrectionGauge = wallFuelCorrection, "AE: wall correction extra", "mg", -20, 20, -100, -100, 100, 100, 1, 1 + +gaugeCategory = Fueling + ;Name Var Title Units Lo Hi LoD LoW HiW HiD vd ld + fuelCutReasonGauge = fuelCutReason,"Fuel Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + tChargeGauge = sd_tCharge, "Fuel: Estimated charge temperature", "C", -40, 140, -15, 1, 95, 110, 1, 1 + baroCorrectionGauge = baroCorrection,"Fuel: Barometric pressure mult", "ratio", 0.5, 1.5, 0.6, 0.7, 1.3, 1.4, 1, 1 + crankingFuelGauge = crankingFuel_fuel, "Fuel: cranking", "mg", 0, 100, 0, 0, 100, 100, 3, 1 + iatCorrectionGauge = running_intakeTemperatureCoefficient, "Fuel: IAT correction", "mult", 0, 3, 0, 0, 3, 3, 2, 2 + cltCorrectionGauge = running_coolantTemperatureCoefficient, "Fuel: CLT correction", "mult", 0, 3, 0, 0, 3, 3, 2, 2 + injectorDutyCycleGauge=injectorDutyCycle, "Fuel: injector duty cycle","%", 0, 120, 10, 10, 100, 100, 1, 1 + actualLastInjectionGauge = actualLastInjection, "Fuel: Last inj pulse width", "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1 + veValueGauge = veValue, "fuel: VE", "", 0, 120, 10, 10, 100, 100, 1, 1 + + injectorLagMsGauge = m_deadtime, "Fuel: injector lag", "mSec", 0, 10, 0, 0, 10, 10, 3, 1 + fuelRunningGauge = running_fuel, "Fuel: running", "mg", 0, 100, 0, 0, 100, 100, 3, 1 + baseFuelGauge = running_baseFuel, "Fuel: base cycle mass", "mg", 0, 100, 0, 0, 100, 100, 2, 0 + fuelPidCorrectionGauge = fuelPidCorrection1, "Fuel: fuel trim", "%", -10, 10, -8, -5, 5, 8, 3, 1 + fuelPidCorrectionGauge2= fuelPidCorrection2, "Fuel: fuel trim 2", "%", -10, 10, -8, -5, 5, 8, 3, 1 + fuelingLoadGauge = fuelingLoad, "Fuel: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + totalFuelConsumptionGauge = totalFuelConsumption, "Fuel: Total consumed", "g", 0, 10000, 0, 0, 10000, 10000, 0, 0 + fuelFlowRateGauge = fuelFlowRate, "Fuel: Flow rate", "g/s", 0, 50, 0, 0, 50, 50, 2, 0 + targetLambdaGauge = targetLambda,"fuel: target lambda", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + currentTargetAfrGauge = targetAFR,"fuel: target AFR", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 + +gaugeCategory = Throttle Body (incl. ETB) + pedalPositionGauge = throttlePedalPosition, "Throttle pedal position", "%", 0, 120, 0, 0, 100, 100, 1, 1 + tpsADCGauge = tpsADC, "tps1 ADC", "ADC", 0, 1024, 0, 0, 0, 0, 0, 0 + TPSGauge = TPSValue, "Throttle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 + TPS2Gauge = TPS2Value, "Throttle position #2", "%", 0, 100, 0, 0, 100, 100, 1, 1 + + etbTargetGauge = etbTarget, "ETB: position target", "%", 0, 100, 0, 0, 100, 100, 1, 1 + etbErrorGauge = etbStatus_error, "ETB: position error", "%", -20, 20, -10, -5, 5, 10, 2, 0 + etbDutyCycleGauge = etb1DutyCycle, "ETB: Duty", "%", -100, 100, -75, -50, 50, 75, 0, 0 + +gaugeCategory = Sensors - Raw + rawTps1PrimaryGauge = rawTps1Primary, "Raw TPS 1 Primary", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawTps1SecondaryGauge = rawTps1Secondary, "Raw TPS 1 Secondary", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawTps2PrimaryGauge = rawTps2Primary, "Raw TPS 2 Primary", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawTps2SecondaryGauge = rawTps2Secondary, "Raw TPS 2 Secondary", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput1Gauge = rawAnalogInput1, "Raw Aux 1", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput2Gauge = rawAnalogInput2, "Raw Aux 2", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput3Gauge = rawAnalogInput3, "Raw Aux 3", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput4Gauge = rawAnalogInput4, "Raw Aux 4", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput5Gauge = rawAnalogInput5, "Raw Aux 5", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput6Gauge = rawAnalogInput6, "Raw Aux 6", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput7Gauge = rawAnalogInput7, "Raw Aux 7", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput8Gauge = rawAnalogInput8, "Raw Aux 8", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawPpsPrimaryGauge = rawPpsPrimary , "Raw Pedal Primary", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawPpsSecondaryGauge = rawPpsSecondary,"Raw Pedal Secondary","V",0, 5, 0, 0, 5, 5, 3, 0 + rawCltGauge = rawClt , "Raw CLT", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawBatteryGauge = rawBattery , "Raw Battery", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawIatGauge = rawIat , "Raw IAT", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawOilPressureGauge = rawOilPressure, "Raw Oil Pressure", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawWastegatePositionGauge = rawWastegatePosition,"Raw Wastegate Position","V", 0, 5, 0, 0, 5, 5, 3, 0 + rawLowFuelPressureGauge = rawLowFuelPressure,"Raw fuel pressure (low) voltage","V", 0, 5, 0, 0, 5, 5, 3, 0 + rawHighFuelPressureGauge = rawHighFuelPressure,"Raw fuel pressure (high) voltage","V", 0, 5, 0, 0, 5, 5, 3, 0 + rawMafGauge = rawMaf , "Raw MAF", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawMapGauge = rawMap , "Raw MAP", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAfrGauge = rawAfr , "Raw EGO", "V", 0, 5, 0, 0, 5, 5, 3, 0 + vssEdgeCounterGauge = vssEdgeCounter, "Raw VSS", "counter", 0, 5, 0, 0, 5, 5, 3, 0 + issEdgeCounterGauge = issEdgeCounter, "Raw ISS", "counter", 0, 5, 0, 0, 5, 5, 3, 0 + +gaugeCategory = Transmission + desiredGearGauge = tcuDesiredGear, "TCU: Desired Gear", "gear", -1, 10, -1, -1, 10, 10, 0, 0 + currentGearGauge = tcuCurrentGear, "Current Gear", "gear", -1, 10, -1, -1, 10, 10, 0, 0 + detectedGearGauge = detectedGear, "Detected Gear", "gear", 0, 8, 0, 0, 8, 8, 0, 0 + speedToRpmRatioGauge = speedToRpmRatio, "Gearbox Ratio", "", 0, 100, 0, 0, 100, 100, 4, 4 + ISSGauge = ISSValue, "TCU: Input Shaft Speed", "RPM", 0, {rpmHardLimit + 2000}, 200, {cranking_rpm}, {rpmHardLimit - 500}, {rpmHardLimit}, 0, 0 + tcRatioGauge = tcRatio, "TCU: Torque Converter Ratio", "", 0, 100, 0, 0, 100, 100, 4, 4 + shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 + +gaugeCategory = Knock + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + +gaugeCategory = DynoView + accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 + +gaugeCategory = GPPWM Outputs + gppwmGauge1 = gppwmOutput1, { stringValue(gpPwmNote1) }, "%", 0, 100, 0, 0, 100, 100, 1, 1 + gppwmGauge2 = gppwmOutput2, { stringValue(gpPwmNote2) }, "%", 0, 100, 0, 0, 100, 100, 1, 1 + gppwmGauge3 = gppwmOutput3, { stringValue(gpPwmNote3) }, "%", 0, 100, 0, 0, 100, 100, 1, 1 + gppwmGauge4 = gppwmOutput4, { stringValue(gpPwmNote4) }, "%", 0, 100, 0, 0, 100, 100, 1, 1 + +[WueAnalyze] + +; wueCurveName, afrTempCompensationCurve, lambdaTargetTableName, lambdaChannel, coolantTempChannel, egoCorrectionChannel, wueChannel, activeCondition +#if LAMBDA + wueAnalyzeMap = wueAnalyzer_warmup_curve, wueAfrTargetOffsetCurve, lambdaTableTbl, lambdaValue, coolant, running_coolantTemperatureCoefficient, egoCorrectionForVeAnalyze + lambdaTargetTables = lambdaTableTbl, afrTSCustom +#else + wueAnalyzeMap = wueAnalyzer_warmup_curve, wueAfrTargetOffsetCurve, afrTableTbl, AFRValue, coolant, running_coolantTemperatureCoefficient, egoCorrectionForVeAnalyze + lambdaTargetTables = afrTableTbl, afrTSCustom +#endif + + wuePercentOffset = 0 ; for working with 0 based enrichment set to 100 + option = disableLiveUpdates + option = burnOnSend + +; filter = std_DeadLambda ; Auto build + + filter = decelFilterMap,"After Start Enrich", engine, & , 4 , , false + filter = accelFilterTp, "TP Accel Enrich" , engine, & , 16, , false + filter = decelFilterTp, "TP Decel Enrich" , engine, & , 32, , false + filter = accelFilterMap,"MAP Accel Enrich" , engine, & , 64, , false + filter = decelFilterMap,"MAP Decel Enrich" , engine, & , 128, , false + ; this works, just another way to skin a cat + ;filter = decelFilter, "Decel Flag" , tpsaccden, > , 0, , false + filter = overrunFilter, "Overrun" , pulseWidth1, = , 0, , false + filter = highThrottle, "High Throttle" , throttle, > , 15, , true + filter = lowRpm, "Low RPM" , rpm, < , 300, , false + filter = std_Custom ; Standard Custom Expression Filter. + + +[FrontPage] + ; Gauges are numbered left to right, top to bottom. + ; + ; 1 2 3 4 + ; 5 6 7 8 + + gauge1 = RPMGauge + gauge2 = CLTGauge + gauge3 = TPSGauge + gauge4 = MAPGauge +#if LAMBDA + gauge5 = lambda1Gauge +#else + gauge5 = afr1Gauge +#endif + gauge6 = VBattGauge + gauge7 = dwellGauge + gauge8 = ignadvGauge + + ; = expression, off-label, on-label, off-bg, off-fg, on-bg, on-fg + ; Line 1 + ; important status + ; todo: do we want to drop this line since we have "config error" feature thing below? + indicator = { hasCriticalError }, "No errors", "CRITICAL ERROR", white, black, red, black + indicator = { needBurn }, "Settings saved", "Unsaved changes", white, black, yellow, black + indicator = { isWarnNow }, "No warnings", "Warning", white, black, yellow, black + indicator = { checkEngine }, "No Check Engine", "Check Engine", white, black, red, black + indicator = { isTriggerError}, "Trigger OK", "Trigger ERR", white, black, red, black + indicator = { fuelCutReason != 0 }, "Injection OK", { Fuel cut: bitStringValue(fuelIgnCutCodeList, fuelCutReason)}, white, black, yellow, black + indicator = { sparkCutReason != 0 }, "Ignition OK", { Ign cut: bitStringValue(fuelIgnCutCodeList, sparkCutReason)}, white, black, yellow, black + indicator = { etbErrorCode != 0 }, "ETB OK", { ETB: bitStringValue(etbCutCodeList, etbErrorCode)}, white, black, yellow, black + + ; this is required so that the "config error" feature works in TS + ; DO NOT CHANGE THIS LINE - TS is looking for an indicator with particular text/styling + ; you don't even have to show it by default + ; DO NOT CHANGE THIS LINE + ; DO NOT CHANGE THIS LINE + indicator = { hasCriticalError }, "Config Error", "Config Error", white, black, red, black + ; DO NOT CHANGE THIS LINE + ; DO NOT CHANGE THIS LINE + + ; minor info + indicator = { isFanOn }, "Fan off", "Fan on", white, black, green, black + indicator = { isFan2On }, "Fan 2 off", "Fan 2 on", white, black, green, black + indicator = { isMainRelayOn }, "Main relay off", "Main relay on", white, black, green, black + ; Line 2 + ; = expression, off-label, on-label, off-bg, off-fg, on-bg, on-fg + indicator = { isFuelPumpOn }, "Fuel pump off", "Fuel pump on", white, black, green, black + indicator = { clutchUpState }, "No clutch Up", "Clutch Up", white, black, red, black + indicator = { clutchDownState }, "No clutch down", "Clutch down", white, black, yellow, black + indicator = { brakePedalState }, "No braking", "Brake down", white, black, red, black + indicator = { acButtonState }, "AC Switch off", "AC Switch on", white, black, blue, white + indicator = { m_acEnabled }, "AC Relay off", "AC Relay on", white, black, blue, white + indicator = { isIdleClosedLoop }, "Not idling", "Idling", white, black, green, black + indicator = { isIdleCoasting }, "Not coasting", "Coasting", white, black, green, black + indicator = { dfcoActive }, "Not decel fuel cut", "Decel fuel cut", white, black, yellow, black + indicator = { isAboveAccelThreshold }, "No TPS accel", "TPS accel active", white, black, yellow, black + ; error codes + indicator = { isTpsError }, "TPS OK", "TPS error", white, black, red, black + + ; Line 3 + ; = expression, off-label, on-label, off-bg, off-fg, on-bg, on-fg + indicator = { isTps2Error }, "TPS 2 OK", "TPS 2 error", white, black, red, black + indicator = { isPedalError }, "Pedal OK", "Pedal error", white, black, red, black + indicator = { isCltError }, "CLT OK", "CLT error", white, black, red, black + indicator = { isIatError }, "IAT OK", "IAT error", white, black, red, black + ; not implemented + ; indicator = { ind_map_error}, "map", "map error", white, black, red, black + indicator = { sd_present }, "No SD card", "SD card present", white, black, green, black + indicator = { sd_logging_internal }, "No SD logging", "SD logging", white, black, green, black + indicator = { sd_msd }, "No SD USB", "SD USB", white, black, green, black + indicator = { etbRevLimitActive }, "No ETB RPM Limit", "ETB RPM Limit", white, black, yellow, black + + indicator = { wbo0_hasFault }, { WBO0: bitStringValue(wboFaultCodeList, faultCode)}, { WBO0: bitStringValue(wboFaultCodeList, faultCode)}, white, black, red, black + + ; TODO https://github.com/FOME-Tech/fome-fw/issues/85 not sure why these indicators don't work + ; indicator = { isInjectionEnabled && fuelCutReason == 0 }, { Inj: bitStringValue(injModeList, currentInjectionMode) }, { Inj: bitStringValue(injModeList, currentInjectionMode) }, white, black, white, black + ; indicator = { isIgnitionEnabled && sparkCutReason == 0 }, { Ign: bitStringValue(ignModeList, currentIgnitionMode) }, { Ign: bitStringValue(ignModeList, currentIgnitionMode) }, white, black, white, black + +; looks like TS would append four system indicators below: Data Logging, ???, Not Connected, Protocol Error + +[KeyActions] + showPanel = spi, spiFunction + showPanel = con, connection + +; +; this section defines how we log output channels +; see [OutputChannels] +; +[Datalog] + ; Channel Label Type Format + entry = time, "Time", float, "%.3f" +entry = sd_present, "SD: Present", int, "%d" +entry = sd_logging_internal, "SD: Logging", int, "%d" +entry = triggerScopeReady, "triggerScopeReady", int, "%d" +entry = antilagTriggered, "antilagTriggered", int, "%d" +entry = isFanOn, "Radiator Fan", int, "%d" +entry = isO2HeaterOn, "isO2HeaterOn", int, "%d" +entry = checkEngine, "checkEngine", int, "%d" +entry = needBurn, "needBurn", int, "%d" +entry = sd_msd, "SD: MSD", int, "%d" +entry = isFan2On, "Radiator Fan 2", int, "%d" +entry = acrActive, "Harley ACR: Active", int, "%d" +entry = toothLogReady, "Tooth Logger Ready", int, "%d" +entry = isTpsError, "Error: TPS", int, "%d" +entry = isCltError, "Error: CLT", int, "%d" +entry = isMapError, "Error: MAP", int, "%d" +entry = isIatError, "Error: IAT", int, "%d" +entry = isTriggerError, "Error: Trigger", int, "%d" +entry = hasCriticalError, "Error: Active", int, "%d" +entry = isWarnNow, "Warning: Active", int, "%d" +entry = isPedalError, "Error: Pedal", int, "%d" +entry = launchTriggered, "Launch Control Triggered", int, "%d" +entry = isTps2Error, "Error: TPS2", int, "%d" +entry = injectorFault, "Injector Fault", int, "%d" +entry = ignitionFault, "Ignition Fault", int, "%d" +entry = isMainRelayOn, "isMainRelayOn", int, "%d" +entry = isUsbConnected, "isUsbConnected", int, "%d" +entry = dfcoActive, "dfcoActive", int, "%d" +entry = RPMValue, "RPM", int, "%d" +entry = rpmAcceleration, "dRPM", int, "%d" +entry = speedToRpmRatio, "Gearbox Ratio", float, "%.3f" +entry = vehicleSpeedKph, "Vehicle Speed", int, "%d" +entry = internalMcuTemperature, "ECU temperature", int, "%d" +entry = coolant, "CLT", float, "%.3f" +entry = intake, "IAT", float, "%.3f" +entry = auxTemp1, "auxTemp1", float, "%.3f" +entry = auxTemp2, "auxTemp2", float, "%.3f" +entry = TPSValue, "TPS", float, "%.3f" +entry = throttlePedalPosition, "Throttle pedal position", float, "%.3f" +entry = tpsADC, "tpsADC", int, "%d" +entry = rawMaf, "rawMaf", float, "%.3f" +entry = mafMeasured, "MAF", float, "%.3f" +entry = MAPValue, "MAP", float, "%.3f" +entry = baroPressure, "baroPressure", float, "%.3f" +entry = lambdaValue, "Lambda", float, "%.3f" +entry = VBatt, "VBatt", float, "%.3f" +entry = oilPressure, "Oil Pressure", float, "%.3f" +entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" +entry = actualLastInjection, "Fuel: Last inj pulse width", float, "%.3f" +entry = injectorDutyCycle, "Fuel: injector duty cycle", float, "%.3f" +entry = veValue, "Fuel: VE", float, "%.3f" +entry = injectionOffset, "Fuel: Injection timing SOI", int, "%d" +entry = engineMakeCodeNameCrc16, "Engine CRC16", int, "%d" +entry = wallFuelAmount, "Fuel: wall amount", float, "%.3f" +entry = wallFuelCorrectionValue, "Fuel: wall correction", float, "%.3f" +entry = revolutionCounterSinceStart, "revolutionCounterSinceStart", int, "%d" +entry = canReadCounter, "CAN: Rx", int, "%d" +entry = tpsAccelFuel, "Fuel: TPS AE add fuel ms", float, "%.3f" +entry = ignitionAdvance, "Ign: Timing Base", float, "%.3f" +entry = currentIgnitionMode, "Ign: Mode", int, "%d" +entry = currentInjectionMode, "Fuel: Injection mode", int, "%d" +entry = coilDutyCycle, "Ign: Coil duty cycle", float, "%.3f" +entry = etbTarget, "ETB Target", float, "%.3f" +entry = etb1DutyCycle, "ETB: Duty", float, "%.3f" +entry = fuelTankLevel, "Fuel level", float, "%.3f" +entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" +entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" +entry = TPS2Value, "TPS2", float, "%.3f" +entry = tuneCrc16, "Tune CRC16", int, "%d" +entry = seconds, "Uptime", int, "%d" +entry = engineMode, "Engine Mode", int, "%d" +entry = firmwareVersion, "firmware", int, "%d" +entry = rawWastegatePosition, "rawWastegatePosition", float, "%.3f" +entry = accelerationX, "Acceleration: X", float, "%.3f" +entry = accelerationY, "Acceleration: Y", float, "%.3f" +entry = detectedGear, "Detected Gear", int, "%d" +entry = maxTriggerReentrant, "maxTriggerReentrant", int, "%d" +entry = rawLowFuelPressure, "rawLowFuelPressure", float, "%.3f" +entry = rawHighFuelPressure, "rawHighFuelPressure", float, "%.3f" +entry = lowFuelPressure, "Fuel pressure (low)", float, "%.3f" +entry = highFuelPressure, "Fuel pressure (high)", float, "%.3f" +entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" +entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" +entry = flexPercent, "Flex Ethanol %", float, "%.3f" +entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" +entry = calibrationValue, "calibrationValue", float, "%.3f" +entry = calibrationMode, "calibrationMode", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" +entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" +entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" +entry = warningCounter, "Warning: counter", int, "%d" +entry = lastErrorCode, "Warning: last", int, "%d" +entry = recentErrorCode1, "recentErrorCode 1", int, "%d" +entry = recentErrorCode2, "recentErrorCode 2", int, "%d" +entry = recentErrorCode3, "recentErrorCode 3", int, "%d" +entry = recentErrorCode4, "recentErrorCode 4", int, "%d" +entry = recentErrorCode5, "recentErrorCode 5", int, "%d" +entry = recentErrorCode6, "recentErrorCode 6", int, "%d" +entry = recentErrorCode7, "recentErrorCode 7", int, "%d" +entry = recentErrorCode8, "recentErrorCode 8", int, "%d" +entry = debugFloatField1, "debugFloatField1", float, "%.3f" +entry = debugFloatField2, "debugFloatField2", float, "%.3f" +entry = debugFloatField3, "debugFloatField3", float, "%.3f" +entry = debugFloatField4, "debugFloatField4", float, "%.3f" +entry = debugFloatField5, "debugFloatField5", float, "%.3f" +entry = debugFloatField6, "debugFloatField6", float, "%.3f" +entry = debugFloatField7, "debugFloatField7", float, "%.3f" +entry = debugIntField1, "debugIntField1", int, "%d" +entry = debugIntField2, "debugIntField2", int, "%d" +entry = debugIntField3, "debugIntField3", int, "%d" +entry = debugIntField4, "debugIntField4", int, "%d" +entry = debugIntField5, "debugIntField5", int, "%d" +entry = egt1, "EGT 1", int, "%d" +entry = egt2, "EGT 2", int, "%d" +entry = egt3, "EGT 3", int, "%d" +entry = egt4, "EGT 4", int, "%d" +entry = egt5, "EGT 5", int, "%d" +entry = egt6, "EGT 6", int, "%d" +entry = egt7, "EGT 7", int, "%d" +entry = egt8, "EGT 8", int, "%d" +entry = rawTps1Primary, "rawTps1Primary", float, "%.3f" +entry = rawPpsPrimary, "rawPpsPrimary", float, "%.3f" +entry = rawClt, "rawClt", float, "%.3f" +entry = rawIat, "rawIat", float, "%.3f" +entry = rawOilPressure, "rawOilPressure", float, "%.3f" +entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" +entry = tcuCurrentGear, "Current Gear", int, "%d" +entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" +entry = VssAcceleration, "Vss Accel", float, "%.3f" +entry = lambdaValue2, "Lambda 2", float, "%.3f" +entry = AFRValue2, "Air/Fuel Ratio 2", float, "%.3f" +entry = vvtPositionB1E, "VVT: bank 1 exhaust", float, "%.3f" +entry = vvtPositionB2I, "VVT: bank 2 intake", float, "%.3f" +entry = vvtPositionB2E, "VVT: bank 2 exhaust", float, "%.3f" +entry = fuelPidCorrection1, "Fuel: Trim bank 1", float, "%.3f" +entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" +entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" +entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" +entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" +entry = accelerationZ, "Acceleration: Z", float, "%.3f" +entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" +entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" +entry = vvtTargets1, "vvtTargets 1", int, "%d" +entry = vvtTargets2, "vvtTargets 2", int, "%d" +entry = vvtTargets3, "vvtTargets 3", int, "%d" +entry = vvtTargets4, "vvtTargets 4", int, "%d" +entry = turboSpeed, "Turbocharger Speed", int, "%d" +entry = ignitionAdvanceCyl1, "Ign: Timing Cyl 1", float, "%.3f" +entry = ignitionAdvanceCyl2, "Ign: Timing Cyl 2", float, "%.3f" +entry = ignitionAdvanceCyl3, "Ign: Timing Cyl 3", float, "%.3f" +entry = ignitionAdvanceCyl4, "Ign: Timing Cyl 4", float, "%.3f" +entry = ignitionAdvanceCyl5, "Ign: Timing Cyl 5", float, "%.3f" +entry = ignitionAdvanceCyl6, "Ign: Timing Cyl 6", float, "%.3f" +entry = ignitionAdvanceCyl7, "Ign: Timing Cyl 7", float, "%.3f" +entry = ignitionAdvanceCyl8, "Ign: Timing Cyl 8", float, "%.3f" +entry = ignitionAdvanceCyl9, "Ign: Timing Cyl 9", float, "%.3f" +entry = ignitionAdvanceCyl10, "Ign: Timing Cyl 10", float, "%.3f" +entry = ignitionAdvanceCyl11, "Ign: Timing Cyl 11", float, "%.3f" +entry = ignitionAdvanceCyl12, "Ign: Timing Cyl 12", float, "%.3f" +entry = tps1Split, "tps1Split", float, "%.3f" +entry = tps2Split, "tps2Split", float, "%.3f" +entry = tps12Split, "tps12Split", float, "%.3f" +entry = accPedalSplit, "accPedalSplit", float, "%.3f" +entry = sparkCutReason, "Ign: Cut Code", int, "%d" +entry = fuelCutReason, "Fuel: Cut Code", int, "%d" +entry = mafEstimate, "Air: Flow estimate", float, "%.3f" +entry = instantRpm, "instantRpm", int, "%d" +entry = rawMap, "rawMap", float, "%.3f" +entry = rawAfr, "rawAfr", float, "%.3f" +entry = calibrationValue2, "calibrationValue2", float, "%.3f" +entry = luaInvocationCounter, "Lua: Tick counter", int, "%d" +entry = luaLastCycleDuration, "Lua: Last tick duration", int, "%d" +entry = tcu_currentRange, "TCU: Current Range", int, "%d" +entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" +entry = lastShiftTime, "lastShiftTime", float, "%.3f" +entry = vssEdgeCounter, "vssEdgeCounter", int, "%d" +entry = issEdgeCounter, "issEdgeCounter", int, "%d" +entry = auxLinear1, "Aux linear #1", float, "%.3f" +entry = auxLinear2, "Aux linear #2", float, "%.3f" +entry = fallbackMap, "fallbackMap", float, "%.3f" +entry = instantMAPValue, "Instant MAP", float, "%.3f" +entry = maxLockedDuration, "maxLockedDuration", int, "%d" +entry = canWriteOk, "CAN: Tx OK", int, "%d" +entry = canWriteNotOk, "CAN: Tx err", int, "%d" +entry = triggerPrimaryFall, "triggerPrimaryFall", int, "%d" +entry = triggerPrimaryRise, "triggerPrimaryRise", int, "%d" +entry = triggerSecondaryFall, "triggerSecondaryFall", int, "%d" +entry = triggerSecondaryRise, "triggerSecondaryRise", int, "%d" +entry = triggerVvtFall, "triggerVvtFall", int, "%d" +entry = triggerVvtRise, "triggerVvtRise", int, "%d" +entry = starterState, "starterState", int, "%d" +entry = starterRelayDisable, "starterRelayDisable", int, "%d" +entry = multiSparkCounter, "Ign: Multispark count", int, "%d" +entry = extiOverflowCount, "extiOverflowCount", int, "%d" +entry = alternatorStatus_pTerm, "alternatorStatus_pTerm", float, "%.3f" +entry = alternatorStatus_iTerm, "alternatorStatus_iTerm", float, "%.3f" +entry = alternatorStatus_dTerm, "alternatorStatus_dTerm", float, "%.3f" +entry = alternatorStatus_output, "alternatorStatus_output", float, "%.3f" +entry = alternatorStatus_error, "alternatorStatus_error", float, "%.3f" +entry = alternatorStatus_resetCounter, "alternatorStatus_resetCounter", int, "%d" +entry = idleStatus_pTerm, "idleStatus_pTerm", float, "%.3f" +entry = idleStatus_iTerm, "idleStatus_iTerm", float, "%.3f" +entry = idleStatus_dTerm, "idleStatus_dTerm", float, "%.3f" +entry = idleStatus_output, "idleStatus_output", float, "%.3f" +entry = idleStatus_error, "idleStatus_error", float, "%.3f" +entry = idleStatus_resetCounter, "idleStatus_resetCounter", int, "%d" +entry = etbStatus_pTerm, "etbStatus_pTerm", float, "%.3f" +entry = etbStatus_iTerm, "etbStatus_iTerm", float, "%.3f" +entry = etbStatus_dTerm, "etbStatus_dTerm", float, "%.3f" +entry = etbStatus_output, "etbStatus_output", float, "%.3f" +entry = etbStatus_error, "etbStatus_error", float, "%.3f" +entry = etbStatus_resetCounter, "etbStatus_resetCounter", int, "%d" +entry = boostStatus_pTerm, "boostStatus_pTerm", float, "%.3f" +entry = boostStatus_iTerm, "boostStatus_iTerm", float, "%.3f" +entry = boostStatus_dTerm, "boostStatus_dTerm", float, "%.3f" +entry = boostStatus_output, "boostStatus_output", float, "%.3f" +entry = boostStatus_error, "boostStatus_error", float, "%.3f" +entry = boostStatus_resetCounter, "boostStatus_resetCounter", int, "%d" +entry = wastegateDcStatus_pTerm, "wastegateDcStatus_pTerm", float, "%.3f" +entry = wastegateDcStatus_iTerm, "wastegateDcStatus_iTerm", float, "%.3f" +entry = wastegateDcStatus_dTerm, "wastegateDcStatus_dTerm", float, "%.3f" +entry = wastegateDcStatus_output, "wastegateDcStatus_output", float, "%.3f" +entry = wastegateDcStatus_error, "wastegateDcStatus_error", float, "%.3f" +entry = wastegateDcStatus_resetCounter, "wastegateDcStatus_resetCounter", int, "%d" +entry = auxSpeed1, "Aux speed 1", int, "%d" +entry = auxSpeed2, "Aux speed 2", int, "%d" +entry = ISSValue, "TCU: Input Shaft Speed", int, "%d" +entry = rawAnalogInput1, "rawAnalogInput 1", float, "%.3f" +entry = rawAnalogInput2, "rawAnalogInput 2", float, "%.3f" +entry = rawAnalogInput3, "rawAnalogInput 3", float, "%.3f" +entry = rawAnalogInput4, "rawAnalogInput 4", float, "%.3f" +entry = rawAnalogInput5, "rawAnalogInput 5", float, "%.3f" +entry = rawAnalogInput6, "rawAnalogInput 6", float, "%.3f" +entry = rawAnalogInput7, "rawAnalogInput 7", float, "%.3f" +entry = rawAnalogInput8, "rawAnalogInput 8", float, "%.3f" +entry = gppwmOutput1, "GPPWM Output 1", float, "%.3f" +entry = gppwmOutput2, "GPPWM Output 2", float, "%.3f" +entry = gppwmOutput3, "GPPWM Output 3", float, "%.3f" +entry = gppwmOutput4, "GPPWM Output 4", float, "%.3f" +entry = gppwmXAxis1, "gppwmXAxis 1", int, "%d" +entry = gppwmXAxis2, "gppwmXAxis 2", int, "%d" +entry = gppwmXAxis3, "gppwmXAxis 3", int, "%d" +entry = gppwmXAxis4, "gppwmXAxis 4", int, "%d" +entry = gppwmYAxis1, "gppwmYAxis 1", float, "%.3f" +entry = gppwmYAxis2, "gppwmYAxis 2", float, "%.3f" +entry = gppwmYAxis3, "gppwmYAxis 3", float, "%.3f" +entry = gppwmYAxis4, "gppwmYAxis 4", float, "%.3f" +entry = rawBattery, "rawBattery", float, "%.3f" +entry = ignBlendParameter1, "ignBlendParameter 1", float, "%.3f" +entry = ignBlendParameter2, "ignBlendParameter 2", float, "%.3f" +entry = ignBlendParameter3, "ignBlendParameter 3", float, "%.3f" +entry = ignBlendParameter4, "ignBlendParameter 4", float, "%.3f" +entry = ignBlendBias1, "ignBlendBias 1", float, "%.3f" +entry = ignBlendBias2, "ignBlendBias 2", float, "%.3f" +entry = ignBlendBias3, "ignBlendBias 3", float, "%.3f" +entry = ignBlendBias4, "ignBlendBias 4", float, "%.3f" +entry = ignBlendOutput1, "ignBlendOutput 1", float, "%.3f" +entry = ignBlendOutput2, "ignBlendOutput 2", float, "%.3f" +entry = ignBlendOutput3, "ignBlendOutput 3", float, "%.3f" +entry = ignBlendOutput4, "ignBlendOutput 4", float, "%.3f" +entry = veBlendParameter1, "veBlendParameter 1", float, "%.3f" +entry = veBlendParameter2, "veBlendParameter 2", float, "%.3f" +entry = veBlendParameter3, "veBlendParameter 3", float, "%.3f" +entry = veBlendParameter4, "veBlendParameter 4", float, "%.3f" +entry = veBlendBias1, "veBlendBias 1", float, "%.3f" +entry = veBlendBias2, "veBlendBias 2", float, "%.3f" +entry = veBlendBias3, "veBlendBias 3", float, "%.3f" +entry = veBlendBias4, "veBlendBias 4", float, "%.3f" +entry = veBlendOutput1, "veBlendOutput 1", float, "%.3f" +entry = veBlendOutput2, "veBlendOutput 2", float, "%.3f" +entry = veBlendOutput3, "veBlendOutput 3", float, "%.3f" +entry = veBlendOutput4, "veBlendOutput 4", float, "%.3f" +entry = boostOpenLoopBlendParameter1, "boostOpenLoopBlendParameter 1", float, "%.3f" +entry = boostOpenLoopBlendParameter2, "boostOpenLoopBlendParameter 2", float, "%.3f" +entry = boostOpenLoopBlendBias1, "boostOpenLoopBlendBias 1", float, "%.3f" +entry = boostOpenLoopBlendBias2, "boostOpenLoopBlendBias 2", float, "%.3f" +entry = boostOpenLoopBlendOutput1, "boostOpenLoopBlendOutput 1", int, "%d" +entry = boostOpenLoopBlendOutput2, "boostOpenLoopBlendOutput 2", int, "%d" +entry = boostClosedLoopBlendParameter1, "boostClosedLoopBlendParameter 1", float, "%.3f" +entry = boostClosedLoopBlendParameter2, "boostClosedLoopBlendParameter 2", float, "%.3f" +entry = boostClosedLoopBlendBias1, "boostClosedLoopBlendBias 1", float, "%.3f" +entry = boostClosedLoopBlendBias2, "boostClosedLoopBlendBias 2", float, "%.3f" +entry = boostClosedLoopBlendOutput1, "boostClosedLoopBlendOutput 1", float, "%.3f" +entry = boostClosedLoopBlendOutput2, "boostClosedLoopBlendOutput 2", float, "%.3f" +entry = coilState1, "coilState1", int, "%d" +entry = coilState2, "coilState2", int, "%d" +entry = coilState3, "coilState3", int, "%d" +entry = coilState4, "coilState4", int, "%d" +entry = coilState5, "coilState5", int, "%d" +entry = coilState6, "coilState6", int, "%d" +entry = coilState7, "coilState7", int, "%d" +entry = coilState8, "coilState8", int, "%d" +entry = coilState9, "coilState9", int, "%d" +entry = coilState10, "coilState10", int, "%d" +entry = coilState11, "coilState11", int, "%d" +entry = coilState12, "coilState12", int, "%d" +entry = injectorState1, "injectorState1", int, "%d" +entry = injectorState2, "injectorState2", int, "%d" +entry = injectorState3, "injectorState3", int, "%d" +entry = injectorState4, "injectorState4", int, "%d" +entry = injectorState5, "injectorState5", int, "%d" +entry = injectorState6, "injectorState6", int, "%d" +entry = injectorState7, "injectorState7", int, "%d" +entry = injectorState8, "injectorState8", int, "%d" +entry = injectorState9, "injectorState9", int, "%d" +entry = injectorState10, "injectorState10", int, "%d" +entry = injectorState11, "injectorState11", int, "%d" +entry = injectorState12, "injectorState12", int, "%d" +entry = outputRequestPeriod, "outputRequestPeriod", int, "%d" +entry = mapFast, "mapFast", float, "%.3f" +entry = luaGauges1, "Lua: Gauge 1", float, "%.3f" +entry = luaGauges2, "Lua: Gauge 2", float, "%.3f" +entry = rawMaf2, "rawMaf2", float, "%.3f" +entry = mafMeasured2, "MAF #2", float, "%.3f" +entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" +entry = Gego, "Gego", float, "%.3f" +entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" +entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" +entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" +entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" +entry = running_coolantTemperatureCoefficient, "Fuel: CLT correction", float, "%.3f" +entry = running_timeSinceCrankingInSecs, "running_timeSinceCrankingInSecs", float, "%.3f" +entry = running_baseFuel, "Fuel: base cycle mass", float, "%.3f" +entry = running_fuel, "Fuel: running", float, "%.3f" +entry = afrTableYAxis, "afrTableYAxis", float, "%.3f" +entry = targetLambda, "Fuel: target lambda", float, "%.3f" +entry = targetAFR, "Fuel: target AFR", float, "%.3f" +entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" +entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" +entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" +entry = baseDwell, "baseDwell", float, "%.3f" +entry = sparkDwell, "Ign: Dwell", float, "%.3f" +entry = dwellAngle, "ignition dwell duration", float, "%.3f" +entry = cltTimingCorrection, "Ign: CLT correction", float, "%.3f" +entry = timingIatCorrection, "Ign: IAT correction", float, "%.3f" +entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" +entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" +entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" +entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" +entry = m_requested_pump, "HPFP duration", float, "%.3f" +entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" +entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" +entry = noValve, "noValve", int, "%d" +entry = angleAboveMin, "angleAboveMin", int, "%d" +entry = isHpfpInactive, "isHpfpInactive", int, "%d" +entry = nextLobe, "nextLobe", float, "%.3f" +entry = di_nextStart, "DI: next start", float, "%.3f" +entry = m_deadtime, "Fuel: injector lag", float, "%.3f" +entry = pressureDelta, "fuel: Injector pressure delta", float, "%.3f" +entry = pressureRatio, "fuel: Injector pressure ratio", float, "%.3f" +entry = retardThresholdRpm, "retardThresholdRpm", int, "%d" +entry = combinedConditions, "combinedConditions", int, "%d" +entry = launchActivatePinState, "launchActivatePinState", int, "%d" +entry = isLaunchCondition, "isLaunchCondition", int, "%d" +entry = isSwitchActivated, "isSwitchActivated", int, "%d" +entry = isClutchActivated, "isClutchActivated", int, "%d" +entry = isValidInputPin, "isValidInputPin", int, "%d" +entry = activateSwitchCondition, "activateSwitchCondition", int, "%d" +entry = rpmCondition, "rpmCondition", int, "%d" +entry = speedCondition, "speedCondition", int, "%d" +entry = tpsCondition, "tpsCondition", int, "%d" +entry = isAntilagCondition, "isAntilagCondition", int, "%d" +entry = ALSMinRPMCondition, "ALSMinRPMCondition", int, "%d" +entry = ALSMaxRPMCondition, "ALSMaxRPMCondition", int, "%d" +entry = ALSMinCLTCondition, "ALSMinCLTCondition", int, "%d" +entry = ALSMaxCLTCondition, "ALSMaxCLTCondition", int, "%d" +entry = ALSMaxThrottleIntentCondition, "ALSMaxThrottleIntentCondition", int, "%d" +entry = isALSSwitchActivated, "isALSSwitchActivated", int, "%d" +entry = ALSActivatePinState, "ALSActivatePinState", int, "%d" +entry = ALSSwitchCondition, "ALSSwitchCondition", int, "%d" +entry = ALSTimerCondition, "ALSTimerCondition", int, "%d" +entry = fuelALSCorrection, "fuelALSCorrection", float, "%.3f" +entry = timingALSCorrection, "timingALSCorrection", float, "%.3f" +entry = isTpsInvalid, "isTpsInvalid", int, "%d" +entry = m_shouldResetPid, "m_shouldResetPid", int, "%d" +entry = isBelowClosedLoopThreshold, "isBelowClosedLoopThreshold", int, "%d" +entry = isNotClosedLoop, "isNotClosedLoop", int, "%d" +entry = isZeroRpm, "isZeroRpm", int, "%d" +entry = hasInitBoost, "hasInitBoost", int, "%d" +entry = rpmTooLow, "rpmTooLow", int, "%d" +entry = tpsTooLow, "tpsTooLow", int, "%d" +entry = mapTooLow, "mapTooLow", int, "%d" +entry = luaTargetAdd, "Boost: Lua target add", float, "%.3f" +entry = boostOutput, "Boost: Output", float, "%.3f" +entry = luaTargetMult, "Boost: Lua target mult", float, "%.3f" +entry = openLoopPart, "Boost: Open loop", float, "%.3f" +entry = luaOpenLoopAdd, "Boost: Lua open loop add", float, "%.3f" +entry = boostControllerClosedLoopPart, "Boost: Closed loop", float, "%.3f" +entry = boostControlTarget, "Boost: Target", float, "%.3f" +entry = acButtonState, "AC switch", int, "%d" +entry = m_acEnabled, "AC enabled", int, "%d" +entry = engineTooSlow, "AC engine too slow", int, "%d" +entry = engineTooFast, "AC engine too fast", int, "%d" +entry = noClt, "AC no CLT", int, "%d" +entry = engineTooHot, "AC engine too hot", int, "%d" +entry = tpsTooHigh, "AC tps too high", int, "%d" +entry = isDisabledByLua, "AC disabled by Lua", int, "%d" +entry = acCompressorState, "AC compressor on", int, "%d" +entry = latest_usage_ac_control, "AC latest activity", int, "%d" +entry = acSwitchLastChangeTimeMs, "acSwitchLastChangeTimeMs", int, "%d" +entry = cranking, "cranking", int, "%d" +entry = notRunning, "notRunning", int, "%d" +entry = disabledWhileEngineStopped, "disabledWhileEngineStopped", int, "%d" +entry = brokenClt, "brokenClt", int, "%d" +entry = enabledForAc, "enabledForAc", int, "%d" +entry = hot, "hot", int, "%d" +entry = cold, "cold", int, "%d" +entry = isPrime, "isPrime", int, "%d" +entry = engineTurnedRecently, "engineTurnedRecently", int, "%d" +entry = isFuelPumpOn, "isFuelPumpOn", int, "%d" +entry = ignitionOn, "ignitionOn", int, "%d" +entry = isBenchTest, "isBenchTest", int, "%d" +entry = hasIgnitionVoltage, "hasIgnitionVoltage", int, "%d" +entry = mainRelayState, "mainRelayState", int, "%d" +entry = delayedShutoffRequested, "delayedShutoffRequested", int, "%d" +entry = lua_fuelAdd, "Lua: Fuel add", float, "%.3f" +entry = lua_fuelMult, "Lua: Fuel mult", float, "%.3f" +entry = lua_clutchUpState, "lua_clutchUpState", int, "%d" +entry = lua_brakePedalState, "lua_brakePedalState", int, "%d" +entry = lua_acRequestState, "lua_acRequestState", int, "%d" +entry = lua_luaDisableEtb, "lua_luaDisableEtb", int, "%d" +entry = lua_luaIgnCut, "lua_luaIgnCut", int, "%d" +entry = sd_tCharge, "Air: Charge temperature estimate", float, "%.3f" +entry = sd_tChargeK, "Air: Charge temperature estimate K", float, "%.3f" +entry = crankingFuel_coolantTemperatureCoefficient, "Fuel: cranking CLT mult", float, "%.3f" +entry = crankingFuel_tpsCoefficient, "Fuel: cranking TPS mult", float, "%.3f" +entry = crankingFuel_durationCoefficient, "Fuel: cranking duration mult", float, "%.3f" +entry = crankingFuel_fuel, "Fuel: Cranking cycle mass", float, "%.3f" +entry = baroCorrection, "Fuel: Barometric pressure mult", float, "%.3f" +entry = hellenBoardId, "Detected Board ID", int, "%d" +entry = clutchUpState, "Clutch: up", int, "%d" +entry = clutchDownState, "Clutch: down", int, "%d" +entry = brakePedalState, "Brake switch", int, "%d" +entry = startStopState, "startStopState", int, "%d" +entry = startStopStateToggleCounter, "startStopStateToggleCounter", int, "%d" +entry = egtValue1, "egtValue1", float, "%.3f" +entry = egtValue2, "egtValue2", float, "%.3f" +entry = desiredRpmLimit, "User-defined RPM hard limit", int, "%d" +entry = fuelInjectionCounter, "Fuel: Injection counter", int, "%d" +entry = sparkCounter, "Ign: Spark counter", int, "%d" +entry = fuelingLoad, "Fuel: Load", float, "%.3f" +entry = ignitionLoad, "Ign: Load", float, "%.3f" +entry = veTableYAxis, "veTableYAxis", float, "%.3f" +entry = tpsFrom, "Fuel: TPS AE from", float, "%.3f" +entry = tpsTo, "Fuel: TPS AE to", float, "%.3f" +entry = deltaTps, "Fuel: TPS AE change", float, "%.3f" +entry = extraFuel, "extraFuel", float, "%.3f" +entry = valueFromTable, "valueFromTable", float, "%.3f" +entry = isAboveAccelThreshold, "Fuel: TPS AE Active", int, "%d" +entry = isBelowDecelThreshold, "isBelowDecelThreshold", int, "%d" +entry = isTimeToResetAccumulator, "Accel: reset time", int, "%d" +entry = isFractionalEnrichment, "isFractionalEnrichment", int, "%d" +entry = belowEpsilon, "Accel: below threshold", int, "%d" +entry = tooShort, "Accel: too short", int, "%d" +entry = fractionalInjFuel, "fractionalInjFuel", float, "%.3f" +entry = accumulatedValue, "accumulatedValue", float, "%.3f" +entry = maxExtraPerCycle, "maxExtraPerCycle", float, "%.3f" +entry = maxExtraPerPeriod, "maxExtraPerPeriod", float, "%.3f" +entry = maxInjectedPerPeriod, "maxInjectedPerPeriod", float, "%.3f" +entry = cycleCnt, "cycleCnt", int, "%d" +entry = hwEventCounters1, "Hardware events since boot 1", int, "%d" +entry = hwEventCounters2, "Hardware events since boot 2", int, "%d" +entry = hwEventCounters3, "Hardware events since boot 3", int, "%d" +entry = hwEventCounters4, "Hardware events since boot 4", int, "%d" +entry = hwEventCounters5, "Hardware events since boot 5", int, "%d" +entry = hwEventCounters6, "Hardware events since boot 6", int, "%d" +entry = vvtCamCounter, "vvtCamCounter", int, "%d" +entry = mapVvt_MAP_AT_SPECIAL_POINT, "mapVvt_MAP_AT_SPECIAL_POINT", float, "%.3f" +entry = mapVvt_MAP_AT_DIFF, "mapVvt_MAP_AT_DIFF", float, "%.3f" +entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" +entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" +entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" +entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" +entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" +entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" +entry = triggerSyncGapRatio, "Trigger Sync Latest Ratio", float, "%.3f" +entry = triggerStateIndex, "triggerStateIndex", int, "%d" +entry = vvtCounter, "vvtCounter", int, "%d" +entry = camResyncCounter, "camResyncCounter", int, "%d" +entry = vvtStateIndex, "vvtStateIndex", int, "%d" +entry = m_hasSynchronizedPhase, "m_hasSynchronizedPhase", int, "%d" +entry = wallFuelCorrection, "fuel wallwetting injection time", float, "%.3f" +entry = wallFuel, "Fuel on the wall", float, "%.3f" +entry = idleState, "idleState", int, "%d" +entry = currentIdlePosition, "Idle: Position", float, "%.3f" +entry = baseIdlePosition, "Idle: Open loop", float, "%.3f" +entry = idleClosedLoop, "Idle: Closed loop", float, "%.3f" +entry = iacByTpsTaper, "Idle: iacByTpsTaper portion", float, "%.3f" +entry = throttlePedalUpState, "Idle: throttlePedalUpState", int, "%d" +entry = mightResetPid, "Idle: mightResetPid", int, "%d" +entry = shouldResetPid, "Idle: shouldResetPid", int, "%d" +entry = wasResetPid, "Idle: wasResetPid", int, "%d" +entry = mustResetPid, "Idle: mustResetPid", int, "%d" +entry = isCranking, "Idle: cranking", int, "%d" +entry = isIacTableForCoasting, "isIacTableForCoasting", int, "%d" +entry = notIdling, "notIdling", int, "%d" +entry = needReset, "Idle: reset", int, "%d" +entry = isInDeadZone, "Idle: dead zone", int, "%d" +entry = isBlipping, "isBlipping", int, "%d" +entry = looksLikeRunning, "looksLikeRunning", int, "%d" +entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" +entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" +entry = isIdleCoasting, "Idle: coasting", int, "%d" +entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" +entry = idleTarget, "Idle: Target RPM", int, "%d" +entry = targetRpmByClt, "Idle: Target RPM base", int, "%d" +entry = targetRpmAcBump, "Idle: Target A/C bump", int, "%d" +entry = iacByRpmTaper, "Idle: iacByRpmTaper portion", float, "%.3f" +entry = luaAdd, "Idle: Lua Adder", float, "%.3f" +entry = idlePosition, "ETB: idlePosition", float, "%.3f" +entry = trim, "ETB: trim", float, "%.3f" +entry = luaAdjustment, "ETB: luaAdjustment", float, "%.3f" +entry = m_wastegatePosition, "DC: wastegatePosition", float, "%.3f" +entry = etbFeedForward, "etbFeedForward", float, "%.3f" +entry = etbIntegralError, "etbIntegralError", float, "%.3f" +entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" +entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" +entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" +entry = etbDutyRateOfChange, "ETB duty rate of change", float, "%.3f" +entry = etbDutyAverage, "ETB average duty", float, "%.3f" +entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" +entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" +entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" +entry = faultCode, "WBO: Fault code", int, "%d" +entry = heaterDuty, "WBO: Heater duty", int, "%d" +entry = pumpDuty, "WBO: Pump duty", int, "%d" +entry = tempC, "WBO: Temperature", int, "%d" +entry = nernstVoltage, "WBO: Nernst Voltage", float, "%.3f" +entry = esr, "WBO: ESR", int, "%d" +entry = dcOutput0, "DC: output0", float, "%.3f" +entry = isEnabled0_int, "DC: en0", int, "%d" +entry = isEnabled0, "isEnabled0", int, "%d" +entry = value0, "ETB: SENT value0", int, "%d" +entry = value1, "ETB: SENT value1", int, "%d" +entry = errorRate, "ETB: SENT error rate", float, "%.3f" +entry = throttleUseWotModel, "Air: Throttle model WOT", int, "%d" +entry = throttleModelCrossoverAngle, "Air: Throttle crossover pos", float, "%.3f" +entry = throttleEstimatedFlow, "Air: Throttle flow estimate", float, "%.3f" +entry = vvtTarget, "vvtTarget", float, "%.3f" +entry = vvtOutput, "vvtOutput", float, "%.3f" +entry = lambdaCurrentlyGood, "lambdaCurrentlyGood", int, "%d" +entry = lambdaMonitorCut, "lambdaMonitorCut", int, "%d" +entry = lambdaTimeSinceGood, "lambdaTimeSinceGood", float, "%.3f" + + +[Menu] + +menuDialog = main +; see #1653 +; menu = "Data Logging" +; subMenu = std_ms3SdConsole, "Browse / Import SD Card" + + menu = "&Base &Engine" + subMenu = engineChars, "Base engine" + subMenu = limitsAndFallback, "Limits and fallbacks" + subMenu = triggerConfiguration, "Trigger" + subMenu = trigger_advanced, "Advanced Trigger" + subMenu = std_separator + subMenu = energySystems, "Battery and alternator" + subMenu = std_separator + + # Digital outputs + subMenu = outputsDialog, "Outputs" + subMenu = acSettings, "Air Conditioning" + + menu = "Fuel" + # basic + subMenu = injectorConfig, "Injection configuration" + subMenu = injectorPins, "Injection hardware", 0, {isInjectionEnabled == 1} + subMenu = injTest, "Injector test", 0, {isInjectionEnabled} + subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} + subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + + groupMenu = "Cylinder fuel trims" + groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" + groupChildMenu = fuelTrimTbl2, "Fuel trim cyl 2" + groupChildMenu = fuelTrimTbl3, "Fuel trim cyl 3" + groupChildMenu = fuelTrimTbl4, "Fuel trim cyl 4" + groupChildMenu = fuelTrimTbl5, "Fuel trim cyl 5" + groupChildMenu = fuelTrimTbl6, "Fuel trim cyl 6" + groupChildMenu = fuelTrimTbl7, "Fuel trim cyl 7" + groupChildMenu = fuelTrimTbl8, "Fuel trim cyl 8" + groupChildMenu = fuelTrimTbl9, "Fuel trim cyl 9" + groupChildMenu = fuelTrimTbl10, "Fuel trim cyl 10" + groupChildMenu = fuelTrimTbl11, "Fuel trim cyl 11" + groupChildMenu = fuelTrimTbl12, "Fuel trim cyl 12" + + subMenu = std_separator + + # Air mass model + subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} + + groupMenu = "VE blend tables" + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + + subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} + subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} + subMenu = mapEstimateTableTbl, "MAP estimate table" + subMenu = std_separator + + # Fuel model +#if LAMBDA + subMenu = lambdaTableTbl, "Target lambda", 0, {isInjectionEnabled == 1} +#else + subMenu = afrTableTbl, "Target AFR", 0, {isInjectionEnabled == 1} +#endif + subMenu = cltFuelCorrCurve, "CLT multiplier", 0, {isInjectionEnabled == 1} + subMenu = iatFuelCorrCurve, "IAT multiplier", 0, {isInjectionEnabled == 1} + subMenu = fuelClosedLoopDialog, "Closed loop fuel correction", 0, {isInjectionEnabled == 1} + subMenu = coastingFuelCutControl, "Deceleration fuel cutoff (DFCO)", 0, {isInjectionEnabled == 1} + subMenu = std_separator + + # Injector model + subMenu = injPhaseTableTbl, "Injection phase", 0, {isInjectionEnabled == 1} + subMenu = std_separator + + # Accel enrichment + subMenu = AccelEnrich, "Acceleration enrichment", 0, {isInjectionEnabled == 1} + subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} + subMenu = tpsTspRpmCorrection, "TPS/TPS AE RPM correction", 0, {isInjectionEnabled == 1} + + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } + + menu = "Ignition" + subMenu = ignitionSettings, "Ignition settings" + subMenu = ignTest, "Ignition coil test", 0, {isIgnitionEnabled} + subMenu = std_separator + + subMenu = ignitionTableTbl, "Ignition advance", 0, {isIgnitionEnabled} + subMenu = cltTimingCorrCurve, "Ign CLT correction", 0, {isIgnitionEnabled == 1} + subMenu = ignitionIatCorrTableTbl, "Ign IAT correction", 0, {isIgnitionEnabled == 1} + subMenu = std_separator + + subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} + groupMenu = "Ignition blend tables" + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupMenu = "Cylinder ign trims" + groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" + groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" + groupChildMenu = ignTrimTbl3, "Ignition trim cyl 3" + groupChildMenu = ignTrimTbl4, "Ignition trim cyl 4" + groupChildMenu = ignTrimTbl5, "Ignition trim cyl 5" + groupChildMenu = ignTrimTbl6, "Ignition trim cyl 6" + groupChildMenu = ignTrimTbl7, "Ignition trim cyl 7" + groupChildMenu = ignTrimTbl8, "Ignition trim cyl 8" + groupChildMenu = ignTrimTbl9, "Ignition trim cyl 9" + groupChildMenu = ignTrimTbl10, "Ignition trim cyl 10" + groupChildMenu = ignTrimTbl11, "Ignition trim cyl 11" + groupChildMenu = ignTrimTbl12, "Ignition trim cyl 12" + subMenu = std_separator + + subMenu = multisparkSettings, "Multispark", 0, {isIgnitionEnabled == 1} + + menu = "&Cranking" + subMenu = crankingDialog, "Cranking settings" + subMenu = postCrankingEnrichment, "After-start enrichment" + subMenu = primingFuelPulsePanel, "Priming pulse" + subMenu = std_separator + + subMenu = crankingCltCurve, "Fuel CLT multiplier" + subMenu = crankingCltCurveE100, "Fuel CLT multiplier (Flex Fuel E85)", 0, { flexSensorPin != 0 && flexCranking } + subMenu = crankingDurationCurve, "Fuel duration multiplier" + subMenu = crankingTpsCurve, "Fuel TPS multiplier" + subMenu = std_separator + + subMenu = crankingAdvanceCurve, "Cranking ignition advance", 0, {useSeparateAdvanceForCranking == 1} + subMenu = std_separator + + subMenu = cltCrankingCurve, "Cranking IAC CLT multiplier", 0, {overrideCrankingIacSetting == 1} + + menu = "&Idle" + subMenu = idleSettings, "Idle settings" + subMenu = idlehw, "Idle hardware" + subMenu = std_separator + subMenu = cltIdleRPMCurve, "Target RPM" + subMenu = cltIdleCurve, "CLT multiplier" + subMenu = std_separator + subMenu = idleTimingPidCorrDialog, "Closed-loop idle timing" + subMenu = iacPidMultTbl, "IAC PID multiplier", 0, {idleMode == 0 && useIacPidMultTable == 1} + subMenu = iacCoastingCurve, "Coasting IAC position", 0, {useIacTableForCoasting == 1} + subMenu = std_separator + subMenu = idleVeTableTbl, "Idle VE", 0, {useSeparateVeForIdle == 1} + subMenu = idleAdvanceCurve, "Ignition advance", 0, {useSeparateAdvanceForIdle == 1} + + menu = "&Advanced" + subMenu = smLaunchControl, "Launch Control" + subMenu = ignitionCylExtra, "Cylinder offsets", 0 + + subMenu = std_separator + subMenu = boostDialog, "Boost control" + subMenu = boostOpenLoopDialog, "Boost control open loop", { isBoostControlEnabled } + subMenu = boostPidDialog, "Boost control PID", { isBoostControlEnabled && boostType == 1 } + subMenu = boostTargetDialog, "Boost control target", { isBoostControlEnabled && boostType == 1 } + + groupMenu = "Boost blend tables" + groupChildMenu = boostOpenBlend1Cfg, "Open loop 1 bias", { isBoostControlEnabled } + groupChildMenu = boostOpenBlend1Table, "Open loop 1 adder", { isBoostControlEnabled && boostOpenLoopBlends1_blendParameter != 0 } + groupChildMenu = boostOpenBlend2Cfg, "Open loop 2 bias", { isBoostControlEnabled } + groupChildMenu = boostOpenBlend2Table, "Open loop 2 adder", { isBoostControlEnabled && boostOpenLoopBlends2_blendParameter != 0 } + groupChildMenu = boostClosedBlend1Cfg, "Closed loop 1 bias", { isBoostControlEnabled && boostType == 1 } + groupChildMenu = boostClosedBlend2Table, "Closed loop 1 adder", { isBoostControlEnabled && boostType == 1 && boostClosedLoopBlends1_blendParameter != 0 } + groupChildMenu = boostClosedBlend2Cfg, "Closed loop 2 bias", { isBoostControlEnabled && boostType == 1 } + groupChildMenu = boostClosedBlend2Table, "Closed loop 2 adder", { isBoostControlEnabled && boostType == 1 && boostClosedLoopBlends2_blendParameter != 0 } + + subMenu = boostEtbPid, "ETB-style Wastegate Actuator", { etbFunctions1 == 3 || etbFunctions2 == 3 } + + subMenu = std_separator + subMenu = gppwm1, "General Purpose PWM 1" + subMenu = gppwm2, "General Purpose PWM 2" + subMenu = gppwm3, "General Purpose PWM 3" + subMenu = gppwm4, "General Purpose PWM 4" + + subMenu = std_separator + subMenu = etbDialog, "Electronic throttle body" + subMenu = etbTpsBiasCurve, "ETB bias curve (feed forward)" + subMenu = pedalToTpsTbl, "ETB pedal target" + subMenu = throttle2TrimTbl, "ETB #2 Trim", { tps2_1AdcChannel != 0 } + + subMenu = std_separator + subMenu = vvtPidDialog, "VVT outputs and PID", { vvtMode1 != 0 } + subMenu = vvtTable1Tbl, "VVT intake target", { vvtMode1 != 0 } + subMenu = vvtTable2Tbl, "VVT exhaust target", { vvtMode2 != 0 } + + subMenu = std_separator + subMenu = auxInputsDialog, "Lua Analog Inputs" + subMenu = luaDigitalInputsDialog, "Lua Digital Inputs" + subMenu = luaOutputs, "Lua Script PWM Outputs" + + groupMenu = "Lua Calibrations" + groupChildMenu = scriptSetting, "Lua Script Settings" + + groupChildMenu = scriptTable1TblSettings, "Script Table #1" + groupChildMenu = scriptTable2TblSettings, "Script Table #2" + groupChildMenu = scriptTable3TblSettings, "Script Table #3" + groupChildMenu = scriptTable4TblSettings, "Script Table #4" + + groupChildMenu = scriptCurve1Settings, "Script Curve #1" + groupChildMenu = scriptCurve2Settings, "Script Curve #2" + groupChildMenu = scriptCurve3Settings, "Script Curve #3" + groupChildMenu = scriptCurve4Settings, "Script Curve #4" + groupChildMenu = scriptCurve5Settings, "Script Curve #5" + groupChildMenu = scriptCurve6Settings, "Script Curve #6" + +# users are confused by TCU dialogs. open question how to repackage as pre-alpha +# subMenu = std_separator +# subMenu = tcuControls, "Transmission Settings" +# subMenu = gearControls, "Gear Selection Settings" +# subMenu = inputSpeedSensor, "Input Speed Sensor" +# subMenu = tcuSolenoidTableTbl, "Shift Solenoids" +# subMenu = tccCurves, "TCC Lock/Unlock Speed" +# subMenu = pcPerGearDialog, "Line Pressure Per Gear" +# subMenu = pcPerShiftDialog, "Line Pressure Per Shift" +# subMenu = 32Dialog, "3-2 Shift Solenoid Percent by Speed" + + menu = "&Sensors" + # Thermistors + subMenu = cltSensor, "CLT sensor" + subMenu = iatSensor, "IAT sensor" + subMenu = auxTempSensor1Sensor, "AuxTemp1 sensor" + subMenu = auxTempSensor2Sensor, "AuxTemp2 sensor" + subMenu = std_separator + + # TPS/pedal + subMenu = tpsSensor, "TPS" + subMenu = pedalSensor, "Accelerator pedal" + subMenu = std_separator + + # MAP/Baro + subMenu = mapSettings, "MAP sensor" + subMenu = mapCurves, "MAP sampling" + subMenu = baroSettings, "Baro sensor" + subMenu = std_separator + + # MAF + subMenu = mafSettings, "MAF sensor" + subMenu = mafDecodingCurve, "MAF transfer function", 0, {mafAdcChannel != 0 } + subMenu = std_separator + + # O2 sensor(s) + subMenu = egoSettings, "EGO sensor" + subMenu = widebandConfig, "rusEFI Wideband Controller", 0, { canReadEnabled && canWriteEnabled } + subMenu = std_separator + + # Misc sensors + subMenu = vrThreshold, "VR Sensor Threshold" + subMenu = speedSensor, "Vehicle speed sensor" + subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" + subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" + subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" + subMenu = egtInputs, "EGT" + subMenu = wastegateIdlePos, "Wastegate and idle position sensors" + subMenu = std_separator + + subMenu = auxLinearSensors, "Aux Sensors" + subMenu = otherSensorInputs, "Misc sensors" + + menu = "&Controller" + subMenu = ecuStimulator, "ECU stimulator" + subMenu = ioTest, "Bench test" + subMenu = injTest, "Injector test", 0, {isInjectionEnabled} + subMenu = ignTest, "Ignition coil test", 0, {isIgnitionEnabled} + subMenu = engineTypeDialog, "Popular vehicles" + subMenu = std_separator + + subMenu = spiFunction, "SPI" + subMenu = monitoringSettings, "FOME console" + subMenu = std_separator + + subMenu = canBusMain, "CAN Bus Communication" + subMenu = sdCard, "SD Card Logger" + subMenu = connection, "Connection" + subMenu = tle8888, "TLE8888" + + subMenu = allPins1, "Full pinout 1/3" + subMenu = allPins2, "Full pinout 2/3" + subMenu = allPins3_1_and_2 "Full pinout 3/3" + subMenu = std_separator + + + # EXPERIMENTAL FEATURES + subMenu = mc33Dialog, "PT2001 control" + subMenu = hpfpCamDialog, "HPFP Cam Configuration" + subMenu = hpfpPumpDialog, "HPFP Pump Configuration", {hpfpCamLobes != 0} + subMenu = hpfpTargetTable, "HPFP Target Pressure", {hpfpCamLobes != 0} + subMenu = hpfpCompensationTable, "HPFP Pump Compensation", {hpfpCamLobes != 0} + subMenu = std_separator + subMenu = fancyHardwareDialog, "Fancy Hardware" + subMenu = std_separator + + subMenu = softwareKnock, "Software knock" + subMenu = maxKnockRetardTbl, "Max knock retard" + + ; TODO: move lambdaProtection to the fuel menu once ready + ; https://github.com/FOME-Tech/fome-fw/issues/75 + subMenu = lambdaProtection, "Lambda Protection", 0, { isInjectionEnabled } + + subMenu = std_separator + + subMenu = std_separator + + subMenu = std_separator + subMenu = parkingLot, "Experimental/Broken" + subMenu = antiLagDialog, "Anti-Lag ALS" + subMenu = rotaryDialog, "Rotary" + subMenu = throttleEffectiveArea, "Throttle effective area" + + menu = "Help" + subMenu = helpGeneral, "FOME Info" + + menu = "&View" + subMenu = fuel_computerDialog, "fuel_computer" + subMenu = ignition_stateDialog, "ignition_state" + subMenu = knock_controllerDialog, "knock_controller" + subMenu = high_pressure_fuel_pumpDialog, "high_pressure_fuel_pump" + subMenu = injector_modelDialog, "injector_model" + subMenu = launch_control_stateDialog, "launch_control_state" + subMenu = antilag_system_stateDialog, "antilag_system_state" + subMenu = boost_controlDialog, "boost_control" + subMenu = ac_controlDialog, "ac_control" + subMenu = fan_controlDialog, "fan_control" + subMenu = fuel_pump_controlDialog, "fuel_pump_control" + subMenu = main_relayDialog, "main_relay" + subMenu = engine_stateDialog, "engine_state" + subMenu = tps_accel_stateDialog, "tps_accel_state" + subMenu = trigger_centralDialog, "trigger_central" + subMenu = trigger_stateDialog, "trigger_state" + subMenu = trigger_state_primaryDialog, "trigger_state_primary" + subMenu = wall_fuel_stateDialog, "wall_fuel_state" + subMenu = idle_stateDialog, "idle_state" + subMenu = electronic_throttleDialog, "electronic_throttle" + subMenu = wideband_stateDialog, "wideband_state" + subMenu = dc_motorsDialog, "dc_motors" + subMenu = sent_stateDialog, "sent_state" + subMenu = throttle_modelDialog, "throttle_model" + subMenu = vvtDialog, "vvt" + subMenu = lambda_monitorDialog, "lambda_monitor" + + + +[ControllerCommands] +; commandName = command1, command2, commandn... +; command in standard ini format, a command name can be assigned to 1 to n commands that will be executed in order. +; This does not include any resultant protocol envelope data, only the response data itself. + +; WARNING!! These commands bypass TunerStudio's normal memory synchronization. If these commands +; alter mapped settings (Constant) memory in the controller, TunerStudio will have an out of sync condition +; and may create error messages. +; It is expected that these commands would not typically alter any ram mapped to a Constant. + +; +; see TS_IO_TEST_COMMAND in firmware code +; + +cmd_test_spk1 = "Z\x00\x12\x00\x01" +cmd_test_spk2 = "Z\x00\x12\x00\x02" +cmd_test_spk3 = "Z\x00\x12\x00\x03" +cmd_test_spk4 = "Z\x00\x12\x00\x04" +cmd_test_spk5 = "Z\x00\x12\x00\x05" +cmd_test_spk6 = "Z\x00\x12\x00\x06" +cmd_test_spk7 = "Z\x00\x12\x00\x07" +cmd_test_spk8 = "Z\x00\x12\x00\x08" +cmd_test_spk9 = "Z\x00\x12\x00\x09" +cmd_test_spk10 = "Z\x00\x12\x00\x0a" +cmd_test_spk11 = "Z\x00\x12\x00\x0b" +cmd_test_spk12 = "Z\x00\x12\x00\x0c" + +cmd_test_lua1 = "Z\x00\x20\x00\x01" +cmd_test_lua2 = "Z\x00\x20\x00\x02" +cmd_test_lua3 = "Z\x00\x20\x00\x03" +cmd_test_lua4 = "Z\x00\x20\x00\x04" +cmd_test_lua5 = "Z\x00\x20\x00\x05" +cmd_test_lua6 = "Z\x00\x20\x00\x06" +cmd_test_lua7 = "Z\x00\x20\x00\x07" +cmd_test_lua8 = "Z\x00\x20\x00\x08" + +cmd_test_inj1 = "Z\x00\x13\x00\x01" +cmd_test_inj2 = "Z\x00\x13\x00\x02" +cmd_test_inj3 = "Z\x00\x13\x00\x03" +cmd_test_inj4 = "Z\x00\x13\x00\x04" +cmd_test_inj5 = "Z\x00\x13\x00\x05" +cmd_test_inj6 = "Z\x00\x13\x00\x06" +cmd_test_inj7 = "Z\x00\x13\x00\x07" +cmd_test_inj8 = "Z\x00\x13\x00\x08" +cmd_test_inj9 = "Z\x00\x13\x00\x09" +cmd_test_inj10 = "Z\x00\x13\x00\x0a" +cmd_test_inj11 = "Z\x00\x13\x00\x0b" +cmd_test_inj12 = "Z\x00\x13\x00\x0c" + +cmd_test_cancel = "Z\x00\x16\x00\x0e" + +cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" +cmd_fuel_pump_off = "Z\x00\x16\x00\x10" + +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + +cmd_test_sol1 = "Z\x00\x19\x00\x01" +cmd_test_sol2 = "Z\x00\x19\x00\x02" +cmd_test_sol3 = "Z\x00\x19\x00\x03" +cmd_test_sol4 = "Z\x00\x19\x00\x04" +cmd_test_sol5 = "Z\x00\x19\x00\x05" +cmd_test_sol6 = "Z\x00\x19\x00\x06" + +cmd_test_main_relay = "Z\x00\x16\x00\x00" +cmd_test_starter_relay = "Z\x00\x16\x00\x01" +cmd_test_starter_disable_relay = "Z\x00\x16\x00\x02" +cmd_test_ac_relay = "Z\x00\x16\x00\x05" +cmd_test_fan_1 = "Z\x00\x16\x00\x03" +cmd_test_fan_2 = "Z\x00\x16\x00\x04" +cmd_test_check_engine_light = "Z\x00\x16\x00\x06" +cmd_test_idle_valve = "Z\x00\x16\x00\x07" +cmd_test_second_idle_valve = "Z\x00\x16\x00\x0d" +cmd_test_hpfp_valve = "Z\x00\x16\x00\x08" + +cmd_calibrate_tps_1_closed = "Z\x00\x14\x00\x02" +cmd_calibrate_tps_1_wot = "Z\x00\x14\x00\x03" +cmd_calibrate_tps_2_closed = "Z\x00\x14\x00\x04" +cmd_calibrate_tps_2_wot = "Z\x00\x14\x00\x05" +cmd_calibrate_pedal_up = "Z\x00\x14\x00\x06" +cmd_calibrate_pedal_down = "Z\x00\x14\x00\x07" +cmd_tle8888_init = "Z\x00\x14\x00\x08" +cmd_write_config = "Z\x00\x14\x00\x0A" +cmd_etb_autotune = "Z\x00\x14\x00\x0C" +cmd_enable_self_stim = "Z\x00\x14\x00\x0D" +cmd_etb_auto_calibrate = "Z\x00\x14\x00\x0E" +cmd_disable_self_stim = "Z\x00\x14\x00\x0F" +cmd_etb_autotune_stop = "Z\x00\x14\x00\x10" +cmd_etb_auto_calibrate_2 = "Z\x00\x14\x00\x11" +cmd_wideband_firmare_update = "Z\x00\x14\x00\x12" +cmd_enable_ext_stim = "Z\x00\x14\x00\x13" +cmd_burn_without_flash = "Z\x00\x14\x00\x15" + +cmd_set_wideband_idx_0 = "Z\x00\x15\x00\x00" +cmd_set_wideband_idx_1 = "Z\x00\x15\x00\x01" + +cmd_stop_engine = "Z\x00\x79\x00\x00" + +; reboot ECU +cmd_reset_controller = "Z\x00\xbb\x00\x00" +; jump to DFU mode +cmd_dfu = "Z\x00\xba\x00\x00" +; jump to OpenBLT bootloader +cmd_openblt = "Z\x00\xbc\x00\x00" + +; See 'executeTSCommand' in firmware source code + + +cmd_set_engine_type_microRusEFI_VW_B6 = "Z\x00\x1e\x00\x3e" +cmd_set_engine_type_microRusEFI_MRE_BODY_CONTROL = "Z\x00\x1e\x00\x17" + +cmd_set_engine_type_microRusEFI_Miata_NA6_MAP = "Z\x00\x1e\x00\x42" + +cmd_set_engine_type_microRusEFI_Miata_94_MAP = "Z\x00\x1e\x00\x14" + +cmd_set_engine_type_MRE_SUBARU_EJ18 = "Z\x00\x1e\x00\x25" + +cmd_set_engine_type_MRE_M111 = "Z\x00\x1e\x00\x44" + +cmd_set_engine_type_hellen_NA6 = "Z\x00\x1e\x00\x22" +cmd_set_engine_type_hellen_NA94 = "Z\x00\x1e\x00\x50" + +cmd_set_engine_type_hellen_NB1_36 = "Z\x00\x1e\x00\x5e" +cmd_set_engine_type_hellen_NB2_36 = "Z\x00\x1e\x00\x56" + +cmd_set_engine_type_hellen_nissan_121_4 = "Z\x00\x1e\x00\x54" +cmd_set_engine_type_hellen_nissan_121_6 = "Z\x00\x1e\x00\x48" +cmd_set_engine_type_hellen_nissan_121_8 = "Z\x00\x1e\x00\x55" + +cmd_set_engine_type_hellen_121_vag_4 = "Z\x00\x1e\x00\x47" +cmd_set_engine_type_hellen_121_vag_5 = "Z\x00\x1e\x00\x4d" +cmd_set_engine_type_hellen_121_vag_v6 = "Z\x00\x1e\x00\x4e" +cmd_set_engine_type_hellen_121_vag_vr6 = "Z\x00\x1e\x00\x4f" +cmd_set_engine_type_hellen_121_vag_8 = "Z\x00\x1e\x00\x51" + +cmd_set_engine_type_hellen_128_merc_4 = "Z\x00\x1e\x00\x24" +cmd_set_engine_type_hellen_128_merc_6 = "Z\x00\x1e\x00\x58" +cmd_set_engine_type_hellen_128_merc_8 = "Z\x00\x1e\x00\x59" + +cmd_set_engine_type_hellen_couple_bk1 = "Z\x00\x1e\x00\x52" +cmd_set_engine_type_hellen_couple_bk2 = "Z\x00\x1e\x00\x5f" + +; MIATA_NA6_MAP = 41 +cmd_set_engine_type_Frankenso_Miata_NA6_MAP = "Z\x00\x1e\x00\x29" +; MAZDA_MIATA_2003 = 47 +cmd_set_engine_type_Frankenso_Miata_NB2 = "Z\x00\x1e\x00\x2f" + +cmd_set_engine_type_Proteus_M73 = "Z\x00\x1e\x00\x3f" +cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" +cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" +cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" +cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" +cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" +cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" +cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" + + +; ETB_BENCH_ENGINE = 58 +cmd_set_engine_type_etb_test = "Z\x00\x1e\x00\x3A" +; ETB_BENCH_ENGINE = 59 +cmd_set_engine_type_8888_test = "Z\x00\x1e\x00\x3B" +cmd_set_engine_type_default = "Z\x00\x1f\x00\x00" + +[UserDefined] + +dialog = fuel_computerDialog, "fuel_computer" + liveGraph = fuel_computer_1_Graph, "Graph", South + graphLine = totalFuelCorrection + graphLine = running_postCrankingFuelCorrection + graphLine = running_intakeTemperatureCoefficient + graphLine = running_coolantTemperatureCoefficient + liveGraph = fuel_computer_2_Graph, "Graph", South + graphLine = running_timeSinceCrankingInSecs + graphLine = running_baseFuel + graphLine = running_fuel + graphLine = afrTableYAxis + liveGraph = fuel_computer_3_Graph, "Graph", South + graphLine = targetLambda + graphLine = targetAFR + graphLine = stoichiometricRatio + graphLine = sdTcharge_coff + liveGraph = fuel_computer_4_Graph, "Graph", South + graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling + + +dialog = ignition_stateDialog, "ignition_state" + liveGraph = ignition_state_1_Graph, "Graph", South + graphLine = baseDwell + graphLine = sparkDwell + graphLine = dwellAngle + graphLine = cltTimingCorrection + liveGraph = ignition_state_2_Graph, "Graph", South + graphLine = timingIatCorrection + graphLine = timingPidCorrection + graphLine = dwellVoltageCorrection + graphLine = luaTimingAdd + liveGraph = ignition_state_3_Graph, "Graph", South + graphLine = luaTimingMult + + +dialog = knock_controllerDialog, "knock_controller" + liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 + graphLine = m_knockRetard + graphLine = m_knockThreshold + graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South + graphLine = m_maximumRetard + +indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 + indicator = {noValve}, "noValve No", "noValve Yes" + indicator = {angleAboveMin}, "angleAboveMin No", "angleAboveMin Yes" + indicator = {isHpfpInactive}, "isHpfpInactive No", "isHpfpInactive Yes" + +dialog = high_pressure_fuel_pumpDialog, "high_pressure_fuel_pump" + panel = high_pressure_fuel_pumpIndicatorPanel + liveGraph = high_pressure_fuel_pump_1_Graph, "Graph", South + graphLine = m_requested_pump + graphLine = fuel_requested_percent + graphLine = fuel_requested_percent_pi + graphLine = nextLobe + liveGraph = high_pressure_fuel_pump_2_Graph, "Graph", South + graphLine = di_nextStart + + +dialog = injector_modelDialog, "injector_model" + liveGraph = injector_model_1_Graph, "Graph", South + graphLine = m_deadtime + graphLine = pressureDelta + graphLine = pressureRatio + +indicatorPanel = launch_control_stateIndicatorPanel, 2 + indicator = {combinedConditions}, "combinedConditions No", "combinedConditions Yes" + indicator = {launchActivatePinState}, "launchActivatePinState No", "launchActivatePinState Yes" + indicator = {isLaunchCondition}, "isLaunchCondition No", "isLaunchCondition Yes" + indicator = {isSwitchActivated}, "isSwitchActivated No", "isSwitchActivated Yes" + indicator = {isClutchActivated}, "isClutchActivated No", "isClutchActivated Yes" + indicator = {isValidInputPin}, "isValidInputPin No", "isValidInputPin Yes" + indicator = {activateSwitchCondition}, "activateSwitchCondition No", "activateSwitchCondition Yes" + indicator = {rpmCondition}, "rpmCondition No", "rpmCondition Yes" + indicator = {speedCondition}, "speedCondition No", "speedCondition Yes" + indicator = {tpsCondition}, "tpsCondition No", "tpsCondition Yes" + +dialog = launch_control_stateDialog, "launch_control_state" + panel = launch_control_stateIndicatorPanel + liveGraph = launch_control_state_1_Graph, "Graph", South + graphLine = retardThresholdRpm + +indicatorPanel = antilag_system_stateIndicatorPanel, 2 + indicator = {isAntilagCondition}, "isAntilagCondition No", "isAntilagCondition Yes" + indicator = {ALSMinRPMCondition}, "ALSMinRPMCondition No", "ALSMinRPMCondition Yes" + indicator = {ALSMaxRPMCondition}, "ALSMaxRPMCondition No", "ALSMaxRPMCondition Yes" + indicator = {ALSMinCLTCondition}, "ALSMinCLTCondition No", "ALSMinCLTCondition Yes" + indicator = {ALSMaxCLTCondition}, "ALSMaxCLTCondition No", "ALSMaxCLTCondition Yes" + indicator = {ALSMaxThrottleIntentCondition}, "ALSMaxThrottleIntentCondition No", "ALSMaxThrottleIntentCondition Yes" + indicator = {isALSSwitchActivated}, "isALSSwitchActivated No", "isALSSwitchActivated Yes" + indicator = {ALSActivatePinState}, "ALSActivatePinState No", "ALSActivatePinState Yes" + indicator = {ALSSwitchCondition}, "ALSSwitchCondition No", "ALSSwitchCondition Yes" + indicator = {ALSTimerCondition}, "ALSTimerCondition No", "ALSTimerCondition Yes" + +dialog = antilag_system_stateDialog, "antilag_system_state" + panel = antilag_system_stateIndicatorPanel + liveGraph = antilag_system_state_1_Graph, "Graph", South + graphLine = fuelALSCorrection + graphLine = timingALSCorrection + +indicatorPanel = boost_controlIndicatorPanel, 2 + indicator = {isTpsInvalid}, "isTpsInvalid No", "isTpsInvalid Yes" + indicator = {m_shouldResetPid}, "m_shouldResetPid No", "m_shouldResetPid Yes" + indicator = {isBelowClosedLoopThreshold}, "isBelowClosedLoopThreshold No", "isBelowClosedLoopThreshold Yes" + indicator = {isNotClosedLoop}, "isNotClosedLoop No", "isNotClosedLoop Yes" + indicator = {isZeroRpm}, "isZeroRpm No", "isZeroRpm Yes" + indicator = {hasInitBoost}, "hasInitBoost No", "hasInitBoost Yes" + indicator = {rpmTooLow}, "rpmTooLow No", "rpmTooLow Yes" + indicator = {tpsTooLow}, "tpsTooLow No", "tpsTooLow Yes" + indicator = {mapTooLow}, "mapTooLow No", "mapTooLow Yes" + +dialog = boost_controlDialog, "boost_control" + panel = boost_controlIndicatorPanel + liveGraph = boost_control_1_Graph, "Graph", South + graphLine = luaTargetAdd + graphLine = boostOutput + graphLine = luaTargetMult + graphLine = openLoopPart + liveGraph = boost_control_2_Graph, "Graph", South + graphLine = luaOpenLoopAdd + graphLine = boostControllerClosedLoopPart + graphLine = boostControlTarget + +indicatorPanel = ac_controlIndicatorPanel, 2 + indicator = {acButtonState}, "acButtonState No", "acButtonState Yes" + indicator = {m_acEnabled}, "m_acEnabled No", "m_acEnabled Yes" + indicator = {engineTooSlow}, "engineTooSlow No", "engineTooSlow Yes" + indicator = {engineTooFast}, "engineTooFast No", "engineTooFast Yes" + indicator = {noClt}, "noClt No", "noClt Yes" + indicator = {engineTooHot}, "engineTooHot No", "engineTooHot Yes" + indicator = {tpsTooHigh}, "tpsTooHigh No", "tpsTooHigh Yes" + indicator = {isDisabledByLua}, "isDisabledByLua No", "isDisabledByLua Yes" + indicator = {acCompressorState}, "acCompressorState No", "acCompressorState Yes" + +dialog = ac_controlDialog, "ac_control" + panel = ac_controlIndicatorPanel + liveGraph = ac_control_1_Graph, "Graph", South + graphLine = latest_usage_ac_control + graphLine = acSwitchLastChangeTimeMs + +indicatorPanel = fan_controlIndicatorPanel, 2 + indicator = {cranking}, "cranking No", "cranking Yes" + indicator = {notRunning}, "notRunning No", "notRunning Yes" + indicator = {disabledWhileEngineStopped}, "disabledWhileEngineStopped No", "disabledWhileEngineStopped Yes" + indicator = {brokenClt}, "brokenClt No", "brokenClt Yes" + indicator = {enabledForAc}, "enabledForAc No", "enabledForAc Yes" + indicator = {hot}, "hot No", "hot Yes" + indicator = {cold}, "cold No", "cold Yes" + +dialog = fan_controlDialog, "fan_control" + panel = fan_controlIndicatorPanel + +indicatorPanel = fuel_pump_controlIndicatorPanel, 2 + indicator = {isPrime}, "isPrime No", "isPrime Yes" + indicator = {engineTurnedRecently}, "engineTurnedRecently No", "engineTurnedRecently Yes" + indicator = {isFuelPumpOn}, "isFuelPumpOn No", "isFuelPumpOn Yes" + indicator = {ignitionOn}, "ignitionOn No", "ignitionOn Yes" + +dialog = fuel_pump_controlDialog, "fuel_pump_control" + panel = fuel_pump_controlIndicatorPanel + +indicatorPanel = main_relayIndicatorPanel, 2 + indicator = {isBenchTest}, "isBenchTest No", "isBenchTest Yes" + indicator = {hasIgnitionVoltage}, "hasIgnitionVoltage No", "hasIgnitionVoltage Yes" + indicator = {mainRelayState}, "mainRelayState No", "mainRelayState Yes" + indicator = {delayedShutoffRequested}, "delayedShutoffRequested No", "delayedShutoffRequested Yes" + +dialog = main_relayDialog, "main_relay" + panel = main_relayIndicatorPanel + +indicatorPanel = engine_stateIndicatorPanel, 2 + indicator = {lua_clutchUpState}, "clutchUpState No", "clutchUpState Yes" + indicator = {lua_brakePedalState}, "brakePedalState No", "brakePedalState Yes" + indicator = {lua_acRequestState}, "acRequestState No", "acRequestState Yes" + indicator = {lua_luaDisableEtb}, "luaDisableEtb No", "luaDisableEtb Yes" + indicator = {lua_luaIgnCut}, "luaIgnCut No", "luaIgnCut Yes" + indicator = {clutchUpState}, "clutchUpState No", "clutchUpState Yes" + indicator = {clutchDownState}, "clutchDownState No", "clutchDownState Yes" + indicator = {brakePedalState}, "brakePedalState No", "brakePedalState Yes" + indicator = {startStopState}, "startStopState No", "startStopState Yes" + +dialog = engine_stateDialog, "engine_state" + panel = engine_stateIndicatorPanel + liveGraph = engine_state_1_Graph, "Graph", South + graphLine = lua_fuelAdd + graphLine = lua_fuelMult + graphLine = sd_tCharge + graphLine = sd_tChargeK + liveGraph = engine_state_2_Graph, "Graph", South + graphLine = crankingFuel_coolantTemperatureCoefficient + graphLine = crankingFuel_tpsCoefficient + graphLine = crankingFuel_durationCoefficient + graphLine = crankingFuel_fuel + liveGraph = engine_state_3_Graph, "Graph", South + graphLine = baroCorrection + graphLine = hellenBoardId + graphLine = startStopStateToggleCounter + graphLine = egtValue1 + liveGraph = engine_state_4_Graph, "Graph", South + graphLine = egtValue2 + graphLine = desiredRpmLimit + graphLine = fuelInjectionCounter + graphLine = sparkCounter + liveGraph = engine_state_5_Graph, "Graph", South + graphLine = fuelingLoad + graphLine = ignitionLoad + graphLine = veTableYAxis + +indicatorPanel = tps_accel_stateIndicatorPanel, 2 + indicator = {isAboveAccelThreshold}, "isAboveAccelThreshold No", "isAboveAccelThreshold Yes" + indicator = {isBelowDecelThreshold}, "isBelowDecelThreshold No", "isBelowDecelThreshold Yes" + indicator = {isTimeToResetAccumulator}, "isTimeToResetAccumulator No", "isTimeToResetAccumulator Yes" + indicator = {isFractionalEnrichment}, "isFractionalEnrichment No", "isFractionalEnrichment Yes" + indicator = {belowEpsilon}, "belowEpsilon No", "belowEpsilon Yes" + indicator = {tooShort}, "tooShort No", "tooShort Yes" + +dialog = tps_accel_stateDialog, "tps_accel_state" + panel = tps_accel_stateIndicatorPanel + liveGraph = tps_accel_state_1_Graph, "Graph", South + graphLine = tpsFrom + graphLine = tpsTo + graphLine = deltaTps + graphLine = extraFuel + liveGraph = tps_accel_state_2_Graph, "Graph", South + graphLine = valueFromTable + graphLine = fractionalInjFuel + graphLine = accumulatedValue + graphLine = maxExtraPerCycle + liveGraph = tps_accel_state_3_Graph, "Graph", South + graphLine = maxExtraPerPeriod + graphLine = maxInjectedPerPeriod + graphLine = cycleCnt + + +dialog = trigger_centralDialog, "trigger_central" + liveGraph = trigger_central_1_Graph, "Graph", South + graphLine = hwEventCounters1 + graphLine = hwEventCounters2 + graphLine = hwEventCounters3 + graphLine = hwEventCounters4 + liveGraph = trigger_central_2_Graph, "Graph", South + graphLine = hwEventCounters5 + graphLine = hwEventCounters6 + graphLine = vvtCamCounter + graphLine = mapVvt_MAP_AT_SPECIAL_POINT + liveGraph = trigger_central_3_Graph, "Graph", South + graphLine = mapVvt_MAP_AT_DIFF + graphLine = mapVvt_MAP_AT_CYCLE_COUNT + graphLine = mapVvt_map_peak + graphLine = currentEngineDecodedPhase + liveGraph = trigger_central_4_Graph, "Graph", South + graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount + + +dialog = trigger_stateDialog, "trigger_state" + liveGraph = trigger_state_1_Graph, "Graph", South + graphLine = crankSynchronizationCounter + graphLine = vvtSyncGapRatio + graphLine = triggerSyncGapRatio + graphLine = triggerStateIndex + liveGraph = trigger_state_2_Graph, "Graph", South + graphLine = vvtCounter + graphLine = camResyncCounter + graphLine = vvtStateIndex + +indicatorPanel = trigger_state_primaryIndicatorPanel, 2 + indicator = {m_hasSynchronizedPhase}, "m_hasSynchronizedPhase No", "m_hasSynchronizedPhase Yes" + +dialog = trigger_state_primaryDialog, "trigger_state_primary" + panel = trigger_state_primaryIndicatorPanel + + +dialog = wall_fuel_stateDialog, "wall_fuel_state" + liveGraph = wall_fuel_state_1_Graph, "Graph", South + graphLine = wallFuelCorrection + graphLine = wallFuel + +indicatorPanel = idle_stateIndicatorPanel, 2 + indicator = {mightResetPid}, "mightResetPid No", "mightResetPid Yes" + indicator = {shouldResetPid}, "shouldResetPid No", "shouldResetPid Yes" + indicator = {wasResetPid}, "wasResetPid No", "wasResetPid Yes" + indicator = {mustResetPid}, "mustResetPid No", "mustResetPid Yes" + indicator = {isCranking}, "isCranking No", "isCranking Yes" + indicator = {isIacTableForCoasting}, "isIacTableForCoasting No", "isIacTableForCoasting Yes" + indicator = {notIdling}, "notIdling No", "notIdling Yes" + indicator = {needReset}, "needReset No", "needReset Yes" + indicator = {isInDeadZone}, "isInDeadZone No", "isInDeadZone Yes" + indicator = {isBlipping}, "isBlipping No", "isBlipping Yes" + indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" + indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" + indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" + indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" + indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" + +dialog = idle_stateDialog, "idle_state" + panel = idle_stateIndicatorPanel + liveGraph = idle_state_1_Graph, "Graph", South + graphLine = idleState + graphLine = currentIdlePosition + graphLine = baseIdlePosition + graphLine = idleClosedLoop + liveGraph = idle_state_2_Graph, "Graph", South + graphLine = iacByTpsTaper + graphLine = throttlePedalUpState + graphLine = idleTarget + graphLine = targetRpmByClt + liveGraph = idle_state_3_Graph, "Graph", South + graphLine = targetRpmAcBump + graphLine = iacByRpmTaper + graphLine = luaAdd + +indicatorPanel = electronic_throttleIndicatorPanel, 2 + indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" + +dialog = electronic_throttleDialog, "electronic_throttle" + panel = electronic_throttleIndicatorPanel + liveGraph = electronic_throttle_1_Graph, "Graph", South + graphLine = idlePosition + graphLine = trim + graphLine = luaAdjustment + graphLine = m_wastegatePosition + liveGraph = electronic_throttle_2_Graph, "Graph", South + graphLine = etbFeedForward + graphLine = etbIntegralError + graphLine = etbCurrentTarget + graphLine = etbCurrentAdjustedTarget + liveGraph = electronic_throttle_3_Graph, "Graph", South + graphLine = etbDutyRateOfChange + graphLine = etbDutyAverage + graphLine = etbTpsErrorCounter + graphLine = etbPpsErrorCounter + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = etbErrorCode + graphLine = jamTimer + + +dialog = wideband_stateDialog, "wideband_state" + liveGraph = wideband_state_1_Graph, "Graph", South + graphLine = faultCode + graphLine = heaterDuty + graphLine = pumpDuty + graphLine = tempC + liveGraph = wideband_state_2_Graph, "Graph", South + graphLine = nernstVoltage + graphLine = esr + +indicatorPanel = dc_motorsIndicatorPanel, 2 + indicator = {isEnabled0}, "isEnabled0 No", "isEnabled0 Yes" + +dialog = dc_motorsDialog, "dc_motors" + panel = dc_motorsIndicatorPanel + liveGraph = dc_motors_1_Graph, "Graph", South + graphLine = dcOutput0 + graphLine = isEnabled0_int + + +dialog = sent_stateDialog, "sent_state" + liveGraph = sent_state_1_Graph, "Graph", South + graphLine = value0 + graphLine = value1 + graphLine = errorRate + +indicatorPanel = throttle_modelIndicatorPanel, 2 + indicator = {throttleUseWotModel}, "throttleUseWotModel No", "throttleUseWotModel Yes" + +dialog = throttle_modelDialog, "throttle_model" + panel = throttle_modelIndicatorPanel + liveGraph = throttle_model_1_Graph, "Graph", South + graphLine = throttleModelCrossoverAngle + graphLine = throttleEstimatedFlow + + +dialog = vvtDialog, "vvt" + liveGraph = vvt_1_Graph, "Graph", South + graphLine = vvtTarget + graphLine = vvtOutput + +indicatorPanel = lambda_monitorIndicatorPanel, 2 + indicator = {lambdaCurrentlyGood}, "lambdaCurrentlyGood No", "lambdaCurrentlyGood Yes" + indicator = {lambdaMonitorCut}, "lambdaMonitorCut No", "lambdaMonitorCut Yes" + +dialog = lambda_monitorDialog, "lambda_monitor" + panel = lambda_monitorIndicatorPanel + liveGraph = lambda_monitor_1_Graph, "Graph", South + graphLine = lambdaTimeSinceGood + + + + dialog = scriptTable1TblSettings, "", yAxis + field = "Name", scriptTableName1 + panel = scriptTable1Tbl + + dialog = scriptTable2TblSettings, "", yAxis + field = "Name", scriptTableName2 + panel = scriptTable2Tbl + + dialog = scriptTable3TblSettings, "", yAxis + field = "Name", scriptTableName3 + panel = scriptTable3Tbl + + dialog = scriptTable4TblSettings, "", yAxis + field = "Name", scriptTableName4 + panel = scriptTable4Tbl + + dialog = scriptCurve1Settings, "", yAxis + field = "Name", scriptCurveName1 + panel = scriptCurve1 + + dialog = scriptCurve2Settings, "", yAxis + field = "Name", scriptCurveName2 + panel = scriptCurve2 + + dialog = scriptCurve3Settings, "", yAxis + field = "Name", scriptCurveName3 + panel = scriptCurve3 + + dialog = scriptCurve4Settings, "", yAxis + field = "Name", scriptCurveName4 + panel = scriptCurve4 + + dialog = scriptCurve5Settings, "", yAxis + field = "Name", scriptCurveName5 + panel = scriptCurve5 + + dialog = scriptCurve6Settings, "", yAxis + field = "Name", scriptCurveName6 + panel = scriptCurve6 + + dialog = tChargeRpmTpsSettings, "RPM+TPS mode" + field = "We use these coefficients to approximate air/fuel charge" + field = "temperature based on CLT and IAT, depending on RPM and TPM" + field = "Low RPM/Low TPS", tChargeMinRpmMinTps + field = "Low RPM/High TPS", tChargeMinRpmMaxTps + field = "High RPM/Low TPS", tChargeMaxRpmMinTps + field = "High RPM/High TPS", tChargeMaxRpmMaxTps + + dialog = tChargeGeneralSettings, "" + field = "Mode", tChargeMode + field = "#These two parameters limit the estimate's rate of change" + field = "Increase rate limit", tChargeAirIncrLimit + field = "Decrease rate limit", tChargeAirDecrLimit + field = "" + + dialog = tChargeAirInterpSettings, "Airflow interpolation mode" + field = "Low flow coefficient", tChargeAirCoefMin + field = "High flow coefficient", tChargeAirCoefMax + field = "Max air flow", tChargeAirFlowMax + + dialog = tChargeSettings, "Charge temperature estimation" + panel = tChargeGeneralSettings + panel = tChargeRpmTpsSettings, { tChargeMode == 0} + panel = tChargeAirInterpSettings, { tChargeMode == 1} + panel = tchargeCurve, { tChargeMode == 2 } + + dialog = baseInjection, "Injection" + field = "Enabled", isInjectionEnabled + field = "Mode", injectionMode, {isInjectionEnabled == 1} + field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } + field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } + field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } + field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } + + dialog = ignitionOutputs, "Ignition Outputs" + field = "Ignition Output Mode", ignitionPinMode, {isIgnitionEnabled == 1} + field = "Ignition Pin 1", ignitionPins1, { isIgnitionEnabled == 1 } + field = "Ignition Pin 2", ignitionPins2, { isIgnitionEnabled == 1 && cylindersCount >= 2 } + field = "Ignition Pin 3", ignitionPins3, { isIgnitionEnabled == 1 && cylindersCount >= 3 } + field = "Ignition Pin 4", ignitionPins4, { isIgnitionEnabled == 1 && cylindersCount >= 4 } + field = "Ignition Pin 5", ignitionPins5, { isIgnitionEnabled == 1 && cylindersCount >= 5 } + field = "Ignition Pin 6", ignitionPins6, { isIgnitionEnabled == 1 && cylindersCount >= 6 } + field = "Ignition Pin 7", ignitionPins7, { isIgnitionEnabled == 1 && cylindersCount >= 7 } + field = "Ignition Pin 8", ignitionPins8, { isIgnitionEnabled == 1 && cylindersCount >= 8 } + field = "Ignition Pin 9", ignitionPins9, { isIgnitionEnabled == 1 && cylindersCount >= 9 } + field = "Ignition Pin 10", ignitionPins10, { isIgnitionEnabled == 1 && cylindersCount >= 10 } + field = "Ignition Pin 11", ignitionPins11, { isIgnitionEnabled == 1 && cylindersCount >= 11 } + field = "Ignition Pin 12", ignitionPins12, { isIgnitionEnabled == 1 && cylindersCount >= 12 } + + dialog = ignitionBasic, "" + field = "Enabled", isIgnitionEnabled + field = "Mode", ignitionMode, {isIgnitionEnabled} + field = "Maximum timing advance", maximumIgnitionTiming, {isIgnitionEnabled} + field = "Minimum timing advance", minimumIgnitionTiming, {isIgnitionEnabled} + field = "Override ignition table load axis", ignOverrideMode, {isIgnitionEnabled} + field = "#Use fixed timing while validating with a timing gun" + field = "Timing Mode", timingMode, {isIgnitionEnabled} + field = "Fixed Timing", fixedTiming, {isIgnitionEnabled == 1 && timingMode == 1} + + dialog = ignitionSettings, "", xAxis + panel = ignitionBasic + panel = ignitionOutputs + + dialog = baseEngineConfig, "Engine Configuration" +; field = "Engine preset", engineType + field = "Number of cylinders", cylindersCount + field = "Displacement", displacement + field = "Firing order", firingOrder + field = "Vehicle weight", vehicleWeight + + dialog = engineMetadata, "Engine Metadata" + field = "#These metadata are used by https://tunes.fome.tech" + field = "Engine Make", engineMake + field = "Manufacturer Engine Code", engineCode + field = "Vehicle Name", vehicleName + field = "Compression Ratio", compressionRatio + field = "Forced Induction?", isForcedInduction + + dialog = trigger_primary, "Primary Trigger" + topicHelp = "triggerHelp" + ; see also in firmware '[doesTriggerImplyOperationMode]' tag + field = "Engine type", twoStroke + field = "" + field = "Trigger type", trigger_type + field = "Total tooth count", trigger_customTotalToothCount, {trigger_type == 0}, {trigger_type == 0} + field = "Missing/skipped tooth count", trigger_customSkippedToothCount, {trigger_type == 0}, {trigger_type == 0} + field = "Primary trigger location", skippedWheelOnCam, 1, { twoStroke == 0 && (trigger_type == 0 || trigger_type == 8 || trigger_type == 9 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73) } + field = "" + field = "!Reminder that 4-stroke cycle is 720 degrees" + field = "!For well-known trigger types use '0' trigger angle offset" + field = "Trigger Angle Advance", globalTriggerAngleOffset + + field = "" + field = "" + + field = "#Cam is primary if you have cam sensor as part of trigger shape" + ; cam if + ; two-stroke, or + ; not crank trigger and ((vague trigger and cam choice) or not vague trigger) + field = "Cam Sensor (Primary channel)", triggerInputPins1, 1, {twoStroke == 1 || ( !(trigger_type == 2 || trigger_type == 5 || trigger_type == 10 || trigger_type == 12 || trigger_type == 20 || trigger_type == 21 || trigger_type == 26 || trigger_type == 27 || trigger_type == 33 || trigger_type == 38 || trigger_type == 39 || trigger_type == 44 || trigger_type == 45 || trigger_type == 46 || trigger_type == 53 || trigger_type == 55 || trigger_type == 57 || trigger_type == 58 || trigger_type == 61 || trigger_type == 62 || trigger_type == 68 || trigger_type == 70 || trigger_type == 71 || trigger_type == 72 || trigger_type == 74) && ( ( (trigger_type == 8 || trigger_type == 9 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73) && skippedWheelOnCam) || !(trigger_type == 8 || trigger_type == 9 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73) ) ) } + field = "Crank Sensor (Primary channel)", triggerInputPins1, 1, { !(twoStroke == 1 || ( !(trigger_type == 2 || trigger_type == 5 || trigger_type == 10 || trigger_type == 12 || trigger_type == 20 || trigger_type == 21 || trigger_type == 26 || trigger_type == 27 || trigger_type == 33 || trigger_type == 38 || trigger_type == 39 || trigger_type == 44 || trigger_type == 45 || trigger_type == 46 || trigger_type == 53 || trigger_type == 55 || trigger_type == 57 || trigger_type == 58 || trigger_type == 61 || trigger_type == 62 || trigger_type == 68 || trigger_type == 70 || trigger_type == 71 || trigger_type == 72 || trigger_type == 74) && ( ( (trigger_type == 8 || trigger_type == 9 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73) && skippedWheelOnCam) || !(trigger_type == 8 || trigger_type == 9 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73) ) )) } + field = "Invert Primary", invertPrimaryTriggerSignal + field = "Secondary channel", triggerInputPins2, { triggerInputPins2 != 0 || (triggerInputPins1 != 0 && (trigger_type == 1 || trigger_type == 3 || trigger_type == 11 || trigger_type == 15 || trigger_type == 16 || trigger_type == 19 || trigger_type == 25 || trigger_type == 28 || trigger_type == 31 || trigger_type == 35 || trigger_type == 36 || trigger_type == 37 || trigger_type == 40 || trigger_type == 49 || trigger_type == 50 || trigger_type == 53 || trigger_type == 54 || trigger_type == 63 || trigger_type == 64) ) }, { triggerInputPins2 == 0 || (triggerInputPins1 != 0 && (trigger_type == 1 || trigger_type == 3 || trigger_type == 11 || trigger_type == 15 || trigger_type == 16 || trigger_type == 19 || trigger_type == 25 || trigger_type == 28 || trigger_type == 31 || trigger_type == 35 || trigger_type == 36 || trigger_type == 37 || trigger_type == 40 || trigger_type == 49 || trigger_type == 50 || trigger_type == 53 || trigger_type == 54 || trigger_type == 63 || trigger_type == 64) ) } + field = "!!! PLEASE UNSELECT !!!" triggerInputPins2, 1, { triggerInputPins2 != 0 && !(triggerInputPins1 != 0 && (trigger_type == 1 || trigger_type == 3 || trigger_type == 11 || trigger_type == 15 || trigger_type == 16 || trigger_type == 19 || trigger_type == 25 || trigger_type == 28 || trigger_type == 31 || trigger_type == 35 || trigger_type == 36 || trigger_type == 37 || trigger_type == 40 || trigger_type == 49 || trigger_type == 50 || trigger_type == 53 || trigger_type == 54 || trigger_type == 63 || trigger_type == 64) ) } + field = "Invert Secondary", invertSecondaryTriggerSignal, {triggerInputPins2 != 0 && (trigger_type == 1 || trigger_type == 3 || trigger_type == 11 || trigger_type == 15 || trigger_type == 16 || trigger_type == 19 || trigger_type == 25 || trigger_type == 28 || trigger_type == 31 || trigger_type == 35 || trigger_type == 36 || trigger_type == 37 || trigger_type == 40 || trigger_type == 49 || trigger_type == 50 || trigger_type == 53 || trigger_type == 54 || trigger_type == 63 || trigger_type == 64) } + + dialog = trigger_cams, "Cam Inputs" + field = "!https://wiki.fome.tech/r/vvt" + ; todo: code generator to hard-code all triggers not requiring VVT? + ; todo: https://github.com/rusefi/rusefi/issues/2077 + + field = "Cam mode (intake)", vvtMode1, {trigger_type != 3} + field = "Cam mode (exhaust)", vvtMode2, {trigger_type != 3} + field = "" + field = "Cam sensor bank 1 intake", camInputs1, { camInputs1 != 0 || (vvtMode1 != 0 ) } + field = "Cam sensor bank 1 exhaust", camInputs2, { camInputs2 != 0 || (vvtMode2 != 0 && camInputs1 != 0 ) } + field = "Cam sensor bank 2 intake", camInputs3, { camInputs3 != 0 || (vvtMode1 != 0 && camInputs1 != 0 ) } + field = "Cam sensor bank 2 exhaust", camInputs4, { camInputs4 != 0 || (vvtMode2 != 0 && camInputs2 != 0 ) } + field = "Invert cam inputs", invertCamVVTSignal, { camInputs1 != 0 } + field = "" + field = "#Set offset so VVT indicates 0 degrees in default position" + field = "VVT offset bank 1 intake", vvtOffsets1, { camInputs1 != 0 } + field = "VVT offset bank 1 exhaust", vvtOffsets2, { camInputs2 != 0 } + field = "VVT offset bank 2 intake", vvtOffsets3, { camInputs3 != 0 } + field = "VVT offset bank 2 exhaust", vvtOffsets4, { camInputs4 != 0 } + field = "" + field = "Cam for engine sync resolution", engineSyncCam, { vvtMode1 != 0 || vvtMode2 != 0 } + + dialog = triggerConfiguration_gap, "Trigger Gap Override" + field = "!This is an advanced feature for debugging trigger synchronization" + field = "Override trigger gaps", overrideTriggerGaps + field = "Count", gapTrackingLengthOverride, { overrideTriggerGaps == 1 } + field = "Gap #1 from", triggerGapOverrideFrom1, { overrideTriggerGaps == 1 } + field = "Gap #1 to", triggerGapOverrideTo1, { overrideTriggerGaps == 1 } + field = "Gap #2 from", triggerGapOverrideFrom2, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 2 } + field = "Gap #2 to", triggerGapOverrideTo2, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 2 } + field = "Gap #3 from", triggerGapOverrideFrom3, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 3 } + field = "Gap #3 to", triggerGapOverrideTo3, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 3 } + field = "Gap #4 from", triggerGapOverrideFrom4, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 4 } + field = "Gap #4 to", triggerGapOverrideTo4, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 4 } + field = "Gap #5 from", triggerGapOverrideFrom5, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 5 } + field = "Gap #5 to", triggerGapOverrideTo5, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 5 } + + dialog = triggerInputComparator, "Built-in Comparator Settings (Kinetis-only)" + field = "Comparator Center Point Voltage", triggerCompCenterVolt + field = "Comparator hysteresis voltage (Min)", triggerCompHystMin + field = "Comparator hysteresis voltage (Max)", triggerCompHystMax + field = "VR-sensor saturation RPM", triggerCompSensorSatRpm + + dialog = trigger_advanced, "Advanced Trigger" + field = "Require cam/VVT sync for ignition", isPhaseSyncRequiredForIgnition + field = "Maximum cam/VVT sync RPM", maxCamPhaseResolveRpm + field = "MAP readout angle", mapCamDetectionAnglePosition, 1, { vvtMode1 == 13 } + field = "Print verbose VVT sync details to console",verboseVVTDecoding + field = "Print verbose trigger sync to console", verboseTriggerSynchDetails + field = "Do not print messages in case of sync error", silentTriggerError + field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs + field = "Debug Trigger Sync", debugTriggerSync + panel = triggerConfiguration_gap + + dialog = triggerConfiguration, "", xAxis + panel = trigger_primary + panel = trigger_cams + +; Engine->Injection Settings + dialog = injChars, "Injector Settings", yAxis + field = "Injector flow", injector_flow, {isInjectionEnabled == 1} + field = "Injector flow units", injectorFlowAsMassFlow, {isInjectionEnabled == 1} + field = "Fuel rail pressure sensor", injectorPressureType, { isInjectionEnabled && (highPressureFuel_hwChannel || lowPressureFuel_hwChannel) } + field = "Injector flow compensation mode", injectorCompensationMode, { isInjectionEnabled } + field = "Injector reference pressure", fuelReferencePressure, { isInjectionEnabled && injectorCompensationMode != 0 } + + dialog = fuelParams, "Fuel characteristics", yAxis + field = "Stoichiometric ratio", stoichRatioPrimary, {isInjectionEnabled == 1} + field = "E100 stoichiometric ratio", stoichRatioSecondary, {isInjectionEnabled == 1 && flexSensorPin != 0 } + + dialog = injectorPins, "Injector Outputs", yAxis + field = "Use only first half of outputs for batch mode" + field = "Injection Output 1", injectionPins1, {isInjectionEnabled == 1} + field = "Injection Output 2", injectionPins2, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 1} + field = "Injection Output 3", injectionPins3, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 2} + field = "Injection Output 4", injectionPins4, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 3} + field = "Injection Output 5 ", injectionPins5, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 4} + field = "Injection Output 6 ", injectionPins6, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 5} + field = "Injection Output 7 ", injectionPins7, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 6} + field = "Injection Output 8 ", injectionPins8, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 7} + field = "Injection Output 9 ", injectionPins9, {isInjectionEnabled == 1 && cylindersCount > 8} + field = "Injection Output 10 ", injectionPins10, {isInjectionEnabled == 1 && cylindersCount > 9} + field = "Injection Output 11 ", injectionPins11, {isInjectionEnabled == 1 && cylindersCount > 10} + field = "Injection Output 12 ", injectionPins12, {isInjectionEnabled == 1 && cylindersCount > 11} + field = "" + field = "injection Output(s) Mode", injectionPinMode, {isInjectionEnabled == 1} + + dialog = cylinderBankSelect, "Cylinder Banks", yAxis + field = "Cylinder 1", cylinderBankSelect1, {isInjectionEnabled == 1} + field = "Cylinder 2", cylinderBankSelect2, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 1} + field = "Cylinder 3", cylinderBankSelect3, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 2} + field = "Cylinder 4", cylinderBankSelect4, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 3} + field = "Cylinder 5 ", cylinderBankSelect5, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 4} + field = "Cylinder 6 ", cylinderBankSelect6, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 5} + field = "Cylinder 7 ", cylinderBankSelect7, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 6} + field = "Cylinder 8 ", cylinderBankSelect8, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 7} + field = "Cylinder 9 ", cylinderBankSelect9, {isInjectionEnabled == 1 && cylindersCount > 8} + field = "Cylinder 10 ", cylinderBankSelect10, {isInjectionEnabled == 1 && cylindersCount > 9} + field = "Cylinder 11 ", cylinderBankSelect11, {isInjectionEnabled == 1 && cylindersCount > 10} + field = "Cylinder 12 ", cylinderBankSelect12, {isInjectionEnabled == 1 && cylindersCount > 11} + + dialog = injectorNonlinearPolynomial, "Polynomial Adder", yAxis + field = "Add nonlinearity below pulse", applyNonlinearBelowPulse + field = "constant", injectorCorrectionPolynomial1 + field = "x^1", injectorCorrectionPolynomial2 + field = "x^2", injectorCorrectionPolynomial3 + field = "x^3", injectorCorrectionPolynomial4 + field = "x^4", injectorCorrectionPolynomial5 + field = "x^5", injectorCorrectionPolynomial6 + field = "x^6", injectorCorrectionPolynomial7 + field = "x^7", injectorCorrectionPolynomial8 + + dialog = injectorNonlinearFord, "Ford-model Small Pulse Correction", yAxis + field = "Small pulse slope (ALOSL)", fordInjectorSmallPulseSlope + field = "Set this to 'mass flow'", injectorFlowAsMassFlow + field = "Large pulse slope (AHISL)", injector_flow + field = "Small pulse breakpoint (FUEL_BKPT)", fordInjectorSmallPulseBreakPoint + + dialog = injectorNonlinear + field = "Small pulse correction mode", injectorNonlinearMode + panel = injectorNonlinearPolynomial, {1}, { injectorNonlinearMode == 1 } + panel = injectorNonlinearFord, {1}, { injectorNonlinearMode == 2 } + + dialog = testLuaOut, "Lua Out Test" + commandButton = "Lua Out #1", cmd_test_lua1 + commandButton = "Lua Out #2", cmd_test_lua2 + commandButton = "Lua Out #3", cmd_test_lua3 + commandButton = "Lua Out #4", cmd_test_lua4 + commandButton = "Lua Out #5", cmd_test_lua5 + commandButton = "Lua Out #6", cmd_test_lua6 + commandButton = "Lua Out #7", cmd_test_lua7 + commandButton = "Lua Out #8", cmd_test_lua8 + commandButton = "Abort test", cmd_test_cancel + + dialog = testSolenoids, "TCU Solenoid Test" + commandButton = "Solenoid #1", cmd_test_sol1 + commandButton = "Solenoid #2", cmd_test_sol2 + commandButton = "Solenoid #3", cmd_test_sol3 + commandButton = "Solenoid #4", cmd_test_sol4 + commandButton = "Solenoid #5", cmd_test_sol5 + commandButton = "Solenoid #6", cmd_test_sol6 + commandButton = "Abort test", cmd_test_cancel + + dialog = testOther + field = "Count", benchTestCount + field = "On Time", benchTestOnTime + field = "Off Time", benchTestOffTime + panel = testSolenoids + + dialog = injectorConfig, "", yAxis + topicHelp = "fuelHelp" + panel = baseInjection + panel = injChars + panel = fuelParams + panel = injectorsDeadTime + + dialog = ignitionCylExtra, "Cylinder offsets" + field = "Offset angle for each cylinder if you have an odd fire" + field = "engine, like a v-twin or some V6/V10 engines" + field = "#Positive numbers retard, negative numbers advance" + field = "Offset cyl 1", timing_offset_cylinder1 + field = "Offset cyl 2", timing_offset_cylinder2, {cylindersCount > 1} + field = "Offset cyl 3", timing_offset_cylinder3, {cylindersCount > 2} + field = "Offset cyl 4", timing_offset_cylinder4, {cylindersCount > 3} + field = "Offset cyl 5", timing_offset_cylinder5, {cylindersCount > 4} + field = "Offset cyl 6", timing_offset_cylinder6, {cylindersCount > 5} + field = "Offset cyl 7", timing_offset_cylinder7, {cylindersCount > 6} + field = "Offset cyl 8", timing_offset_cylinder8, {cylindersCount > 7} + field = "Offset cyl 9", timing_offset_cylinder9, {cylindersCount > 8} + field = "Offset cyl 10", timing_offset_cylinder10, {cylindersCount > 9} + field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} + field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} + + dialog = multisparkDwellParams, "Delay & Dwell" + field = "Spark duration", multisparkSparkDuration, {multisparkEnable} + field = "Subsequent spark dwell", multisparkDwell, {multisparkEnable} + + dialog = multisparkMain, "Configuration" + field = "Maximum engine speed", multisparkMaxRpm, {multisparkEnable} + field = "Fire sparks for this angle duration" multisparkMaxSparkingAngle, {multisparkEnable} + field = "Maximum extra spark count" multisparkMaxExtraSparkCount, {multisparkEnable} + + dialog = multisparkSettings, "Multispark" + field = "#WARNING! These settings have the potential to overheat ignition components" + field = "#and cause other nasty misbehavior. Use with care, at your own risk!" + field = "#Not recommended for use on distributor or wasted spark ignition systems." + field = "Enable multiple sparks", multisparkEnable + panel = multisparkMain + panel = multisparkDwellParams + + dialog = ignAdder1Cfg, "Ignition adder 1 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the base ignition table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in 5.0 degrees of ignition timing added." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", ignBlends1_blendParameter + panel = ignAdder1Bias + + dialog = ignAdder2Cfg, "Ignition adder 2 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the base ignition table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in 5.0 degrees of ignition timing added." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", ignBlends2_blendParameter + panel = ignAdder2Bias + + dialog = ignAdder3Cfg, "Ignition adder 3 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the base ignition table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in 5.0 degrees of ignition timing added." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", ignBlends3_blendParameter + panel = ignAdder3Bias + + dialog = ignAdder4Cfg, "Ignition adder 4 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the base ignition table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in 5.0 degrees of ignition timing added." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", ignBlends4_blendParameter + panel = ignAdder4Bias + + dialog = veBlend1Cfg, "VE blend 1 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the VE table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", veBlends1_blendParameter + panel = veBlend1Bias + + dialog = veBlend2Cfg, "VE blend 2 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the VE table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", veBlends2_blendParameter + panel = veBlend2Bias + + dialog = veBlend3Cfg, "VE blend 3 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the VE table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", veBlends3_blendParameter + panel = veBlend3Bias + + dialog = veBlend4Cfg, "VE blend 4 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the VE table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", veBlends4_blendParameter + panel = veBlend4Bias + + dialog = boostOpenBlend1Cfg, "Boost open loop blend 1 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the open loop boost table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0 added to the boost open loop %." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", boostOpenLoopBlends1_blendParameter + panel = boostOpenLoopBlend1Bias + + dialog = boostOpenBlend2Cfg, "Boost open loop blend 2 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the open loop boost table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0 added to the boost open loop %." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", boostOpenLoopBlends2_blendParameter + panel = boostOpenLoopBlend2Bias + + dialog = boostClosedBlend1Cfg, "Boost closed loop blend 1 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the closed loop boost table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0 added to the boost closed loop %." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", boostClosedLoopBlends1_blendParameter + panel = boostClosedLoopBlend1Bias + + dialog = boostClosedBlend2Cfg, "Boost closed loop blend 2 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the closed loop boost table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0 added to the boost closed loop %." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", boostClosedLoopBlends2_blendParameter + panel = boostClosedLoopBlend2Bias + + dialog = dwellSettings, "", yAxis + panel = dwellCorrection + panel = dwellVoltageCorrection + + dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" + field = "Input channel", auxTempSensor1_adcChannel + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + + field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} + field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} + field = "" + field = "Middle temperature", auxTempSensor1_tempC_2, {auxTempSensor1_adcChannel != 0} + field = "Resistance @ MT", auxTempSensor1_resistance_2, {auxTempSensor1_adcChannel != 0} + field = "" + field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} + field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} + + dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" + field = "Input channel", auxTempSensor2_adcChannel + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + + field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} + field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} + field = "" + field = "Middle temperature", auxTempSensor2_tempC_2, {auxTempSensor2_adcChannel != 0} + field = "Resistance @ MT", auxTempSensor2_resistance_2, {auxTempSensor2_adcChannel != 0} + field = "" + field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} + field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + + dialog = tpsNum1, "Throttle Body #1" + field = "Primary sensor", tps1_1AdcChannel + field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} + field = "Primary max", tpsMax, {tps1_1AdcChannel != 0} + field = "Secondary sensor", tps1_2AdcChannel, {tps1_1AdcChannel != 0} + field = "Secondary min", tps1SecondaryMin, {tps1_2AdcChannel != 0 && tps1_1AdcChannel != 0} + field = "Secondary max", tps1SecondaryMax, {tps1_2AdcChannel != 0 && tps1_1AdcChannel != 0} + commandButton = "Auto Calibrate ETB 1", cmd_etb_auto_calibrate, {etb1configured == 1 && tps1_1AdcChannel != 0 && calibrationMode == 0} + + dialog = tpsNum2, "Throttle Body #2" + field = "Primary sensor", tps2_1AdcChannel + field = "Primary min", tps2Min, {tps2_1AdcChannel != 0} + field = "Primary max", tps2Max, {tps2_1AdcChannel != 0} + field = "Secondary sensor", tps2_2AdcChannel, {tps2_1AdcChannel != 0} + field = "Secondary min", tps2SecondaryMin, {tps2_2AdcChannel != 0 && tps2_1AdcChannel != 0} + field = "Secondary max", tps2SecondaryMax, {tps2_2AdcChannel != 0 && tps2_1AdcChannel != 0} + commandButton = "Auto Calibrate ETB 2", cmd_etb_auto_calibrate_2, {etb2configured == 1 && tps2_1AdcChannel != 0 && calibrationMode == 0} + + dialog = tpsLimits, "TPS Limits" + field = "TPS minimum valid value", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 0} + field = "TPS maximum valid value", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 0} + + dialog = tpsSensorLeft + panel = tpsLimits + panel = tpsNum1 + panel = tpsNum2 + + dialog = pedalSensorLeft, "Accelerator pedal" + field = "Accelerator position sensor", throttlePedalPositionAdcChannel + field = "Up voltage", throttlePedalUpVoltage + commandButton = "Grab Up", cmd_calibrate_pedal_up + field = "Down (WOT) voltage", throttlePedalWOTVoltage + commandButton = "Grab Down", cmd_calibrate_pedal_down + field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel + field = "Up voltage", throttlePedalSecondaryUpVoltage + field = "Down (WOT) voltage", throttlePedalSecondaryWOTVoltage + + dialog = pedalGauges + gauge = pedalPositionGauge + gauge = rawPpsPrimaryGauge + gauge = rawPpsSecondaryGauge + + dialog = tpsGauges + gauge = rawTps1PrimaryGauge + gauge = rawTps1SecondaryGauge + gauge = rawTps2PrimaryGauge + gauge = rawTps2SecondaryGauge + + dialog = pedalSensor, "Accelerator pedal", border + panel = pedalSensorLeft, West + panel = pedalGauges, East + + dialog = tpsSensor, "", border + panel = tpsSensorLeft, West + panel = tpsGauges, East + + dialog = wastegatePosConfig, "Wastegate position sensor" + field = "Input", wastegatePositionSensor + field = "Min (fully closed, most boost)", wastegatePositionMin + field = "Max (fully open, least boost)", wastegatePositionMax + + dialog = wastegateIdlePosLeft, "" + panel = wastegatePosConfig + + dialog = wastegateIdlePosGauges, "" + gauge = rawWastegatePositionGauge, West + gauge = wastegatePosGauge, East + + dialog = wastegateIdlePos, "", border + panel = wastegateIdlePosLeft, West + panel = wastegateIdlePosGauges, East + + dialog = mc33Dialog, "Low-Z injector control PT2001" + field = "SPI Chip Select", mc33816_cs + field = "SPI Device", mc33816spiDevice + field = "MC33816 rstb", mc33816_rstb + field = "MC33816 flag0", mc33816_flag0 + + field = "Boost voltage", mc33_hvolt + + field = "Boost current target", mc33_i_boost + field = "Min boost time", mc33_t_min_boost + field = "Max boost time (timeout)", mc33_t_max_boost + + field = "Peak phase current target", mc33_i_peak + field = "Peak phase duration", mc33_t_peak_tot + field = "Peak phase loop off time", mc33_t_peak_off + field = "Peak -> Hold Bypass Time", mc33_t_bypass + + field = "Hold current target", mc33_i_hold + field = "Hold phase loop off time", mc33_t_hold_off + field = "Maximum injection duration", mc33_t_hold_tot + + +; Sensor Inputs + dialog = otherSensorInputs, "Other Sensor Inputs" + field = "Clutch Down", clutchDownPin + field = "Clutch Down inverted", clutchDownPinInverted + field = "Clutch Down mode", clutchDownPinMode + + field = "Clutch Up", clutchUpPin + field = "Clutch Up inverted", clutchUpPinInverted + field = "Clutch Up mode", clutchUpPinMode + field = "Throttle Up switch", throttlePedalUpPin + field = "Brake pedal switch", brakePedalPin + field = "Flex fuel sensor", flexSensorPin + field = "Turbo Speed Sensor", turboSpeedSensorInputPin + field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel + + dialog = fuelLevelDialog, "Fuel Level Sensor" + field = "Input channel", fuelLevelSensor + panel = fuelLevelCurve + +; +; allXXX sections allows a quick overview of used I/O in order to address conflicts mostly, not really to +; configure the features. +; + dialog = allPinsSensors, "Sensors" + field = "Throttle pedal Position Channel", throttlePedalPositionAdcChannel + field = "Throttle pedal Position #2", throttlePedalPositionSecondAdcChannel + field = "Primary input channel", triggerInputPins1 + field = "Secondary channel", triggerInputPins2 + field = "Cam Sync/VVT input", camInputs1 + field = "CLT ADC input", clt_adcChannel + field = "IAT ADC input", iat_adcChannel + field = "vBatt ADC input", vbattAdcChannel + field = "TPS1 ADC input", tps1_1AdcChannel + field = "TPS2 ADC input", tps2_1AdcChannel + field = "MAF ADC input", mafAdcChannel + field = "MAF 2 ADC input", maf2AdcChannel + field = "AFR ADC input", afr_hwChannel + field = "AFR 2 ADC input", afr_hwChannel2 + field = "Baro ADC input", baroSensor_hwChannel + field = "MAP ADC input", map_sensor_hwChannel + field = "Fuel Level input", fuelLevelSensor + field = "Vehicle Speed input", vehicleSpeedSensorInputPin + field = "Clutch Down input", clutchDownPin + field = "Clutch Up input", clutchUpPin + field = "Brake pedal input", brakePedalPin + field = "A/C Switch", acSwitch + field = "Aux Temperature #1", auxTempSensor1_adcChannel + field = "Aux Temperature #2", auxTempSensor2_adcChannel + field = "Aux Fast Analog", auxFastSensor1_adcChannel + + dialog = allTriggerDebug, "Trigger Debug" + field = "trigger 1 debug", triggerInputDebugPins1 + field = "trigger 2 debug", triggerInputDebugPins2 + field = "cam 1 debug", camInputsDebug1 + field = "cam 2 debug", camInputsDebug2 + field = "cam 3 debug", camInputsDebug3 + field = "cam 4 debug", camInputsDebug4 + + dialog = allPinsMC33, "MC33816" + field = "Chip Select", mc33816_cs + field = rstb, mc33816_rstb + field = flag0, mc33816_flag0 + field = mc33816_driven, mc33816_driven + field = mc33816spiDevice, mc33816spiDevice + field = hpfpValcePin, hpfpValvePin + + dialog = allPins1_1 + field = "trigger stimulator output #1", triggerSimulatorPins1 + field = "trigger stimulator output #2", triggerSimulatorPins2 + field = "tle6240_cs", tle6240_cs + field = "tle6240 SPI", tle6240spiDevice + + dialog = allPins1_2 + field = "Tachometer output", tachOutputPin + field = "O2 heater output", o2heaterPin + field = "Idle Solenoid Primary output", idle_solenoidPin + field = "Idle Solenoid Secondary output",secondSolenoidPin + field = "Idle Stepper Dir", idle_stepperDirectionPin + field = "Idle Stepper Step", idle_stepperStepPin + field = "Idle Stepper Enable", stepperEnablePin + field = "Fuel Pump output", fuelPumpPin + field = "ETB#1 Dir #1", etbIo1_directionPin1 + field = "ETB#1 Dir #2", etbIo1_directionPin2 + field = "ETB#1 Control", etbIo1_controlPin + field = "ETB#1 Disable", etbIo1_disablePin + field = "ETB#2 Dir #1", etbIo2_directionPin1 + field = "ETB#2 Dir #2", etbIo2_directionPin2 + field = "ETB#2 Control", etbIo2_controlPin + field = "ETB#2 Disable", etbIo2_disablePin + field = "SD CS Pin", sdCardCsPin + field = "MIL/Check Engine output", malfunctionIndicatorPin + field = "test557pin", test557pin + field = "Fan Pin", fanPin + field = "A/C Relay", acRelayPin + field = "Main Relay Pin", mainRelayPin + field = "Starter Relay Pin", starterRelayDisablePin + + dialog = allPins2_1 + field = "Injection Output 1", injectionPins1 + field = "Injection Output 2", injectionPins2 + field = "Injection Output 3", injectionPins3 + field = "Injection Output 4", injectionPins4 + field = "Injection Output 5 ", injectionPins5 + field = "Injection Output 6 ", injectionPins6 + field = "Injection Output 7 ", injectionPins7 + field = "Injection Output 8 ", injectionPins8 + field = "Injection Output 9 ", injectionPins9 + field = "Injection Output 10 ", injectionPins10 + field = "Injection Output 11 ", injectionPins11 + field = "Injection Output 12 ", injectionPins12 + field = auxSpeedSensorInputPin1, auxSpeedSensorInputPin1 + field = auxSpeedSensorInputPin2, auxSpeedSensorInputPin2 + + + dialog = allPins2_2 + field = "Ignition Output 1", ignitionPins1 + field = "Ignition Output 2", ignitionPins2 + field = "Ignition Output 3", ignitionPins3 + field = "Ignition Output 4", ignitionPins4 + field = "Ignition Output 5", ignitionPins5 + field = "Ignition Output 6", ignitionPins6 + field = "Ignition Output 7", ignitionPins7 + field = "Ignition Output 8", ignitionPins8 + field = "Ignition Output 9", ignitionPins9 + field = "Ignition Output 10", ignitionPins10 + field = "Ignition Output 11", ignitionPins11 + field = "Ignition Output 12", ignitionPins12 + + dialog = allPins2_3 + field = "Debug Trigger Sync", debugTriggerSync + panel = allTriggerDebug + panel = allPinsMC33 + + dialog = allPins1_3 + field = "Aux ADC #1", auxAnalogInputs1 + field = "Aux ADC #2", auxAnalogInputs2 + field = "Aux ADC #3", auxAnalogInputs3 + field = "Aux ADC #4", auxAnalogInputs4 + field = "Aux ADC #5", auxAnalogInputs5 + field = "Aux ADC #6", auxAnalogInputs6 + field = "Aux ADC #7", auxAnalogInputs7 + field = "Aux ADC #8", auxAnalogInputs8 + field = "CAN RX pin", canRxPin + field = "CAN TX pin", canTxPin + field = "SPI1 MOSI", spi1mosiPin, { spi1mosiPin != 0 || is_enabled_spi_1 == 1} + field = "SPI1 MISO", spi1misoPin, { spi1misoPin != 0 || is_enabled_spi_1 == 1} + field = "SPI1 SCK", spi1sckPin, {is_enabled_spi_1 == 1} + field = "SPI2 MOSI", spi2mosiPin, {is_enabled_spi_2 == 1} + field = "SPI2 MISO", spi2misoPin, {is_enabled_spi_2 == 1} + field = "SPI2 SCK", spi2sckPin, {is_enabled_spi_2 == 1} + field = "SPI3 MOSI", spi3mosiPin, {is_enabled_spi_3 == 1} + field = "SPI3 MISO", spi3misoPin, {is_enabled_spi_3 == 1} + field = "SPI3 SCK", spi3sckPin, {is_enabled_spi_3 == 1} + field = "LIS302DLCsPin", LIS302DLCsPin + field = "DRV8860 CS", drv8860_cs + field = "DRV8860 CS Mode", drv8860_csPinMode + field = "DRV8860 MISO pin", drv8860_miso + field = "DRV8860 SPI", drv8860spiDevice + + dialog = allPins3_1 + panel = allPinsSensors + + dialog = allPins3_2 + field = "VVT solenoid bank 1 intake", vvtPins1 + field = "VVT solenoid bank 1 exhaust", vvtPins2 + field = "VVT solenoid bank 2 intake", vvtPins3 + field = "VVT solenoid bank 2 exhaust", vvtPins4 + field = "Aux Valve #1", auxValves1 + field = "Aux Valve #2", auxValves2 + field = "TLE8888 Chip Select", tle8888_cs + field = "TLE 8888 spi", tle8888spiDevice + field = "L9779 Chip Select", l9779_cs + field = "AUX Serial TX", auxSerialTxPin + field = "AUX Serial RX", auxSerialRxPin + field = "Start/Stop Button", startStopButtonPin + field = "Upshift Pin", tcuUpshiftButtonPin + field = "Downshift Pin", tcuDownshiftButtonPin + + dialog = allPins3_1_and_2, "All IO 3/3", xAxis + panel = allPins3_1 + panel = allPins3_2 + + dialog = allPins1_1_and_2, "", xAxis + panel = allPins1_1 + panel = allPins1_2 + + dialog = allPins1, "All IO 1/3", xAxis + panel = allPins1_1_and_2 + panel = allPins1_3 + + dialog = allPins2_1_and_2, "", xAxis + panel = allPins2_1 + panel = allPins2_2 + + dialog = allPins2, "All IO 2/3", xAxis + panel = allPins2_1_and_2 + panel = allPins2_3 + + dialog = clt_thermistor, "CLT sensor" + field = "Input channel", clt_adcChannel + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} + + settingSelector = "Common CLT Sensors" + settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 + settingOption = "Miata NA", clt_tempC_1=-20,clt_resistance_1=16150,clt_tempC_2=40,clt_resistance_2=1150,clt_tempC_3=80,clt_resistance_3=330,useLinearCltSensor=0 + settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 + settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 + + field = "" + field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} + field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} + field = "" + field = "Middle temperature", clt_tempC_2, {clt_adcChannel != 0} + field = "Resistance @ MT", clt_resistance_2, {clt_adcChannel != 0} + field = "" + field = "Highest temperature", clt_tempC_3, {clt_adcChannel != 0} + field = "Resistance @ HT", clt_resistance_3, {clt_adcChannel != 0} + field = "" + field = "Linear characteristic", useLinearCltSensor, {clt_adcChannel != 0} + + dialog = cltGauges + gauge = CLTGauge + gauge = rawCltGauge + + dialog = cltSensor, "CLT Sensor", border + panel = clt_thermistor, West + panel = cltGauges, East + + dialog = iat_thermistor, "IAT sensor" + field = "Input channel", iat_adcChannel + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} + + settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} + settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 + settingOption = "Miata NA/NB", iat_tempC_1=-20,iat_resistance_1=16150,iat_tempC_2=40,iat_resistance_2=1150,iat_tempC_3=80,iat_resistance_3=330,useLinearIatSensor=0 + settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 + settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 + + field = "" + field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} + field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} + field = "" + field = "Middle temperature", iat_tempC_2, {iat_adcChannel != 0} + field = "Resistance @ MT", iat_resistance_2, {iat_adcChannel != 0} + field = "" + field = "Highest temperature", iat_tempC_3, {iat_adcChannel != 0} + field = "Resistance @ HT", iat_resistance_3, {iat_adcChannel != 0} + field = "" + field = "Linear characteristic", useLinearIatSensor, {iat_adcChannel != 0} + + dialog = iatGauges + gauge = IATGauge + gauge = rawIatGauge + + dialog = iatSensor, "IAT Sensor", border + panel = iat_thermistor, West + panel = iatGauges, East + + dialog = oilp_settings, "Oil Pressure Sensor" + field = "Oil Pressure ADC input", oilPressure_hwChannel + field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} + field = "low pressure", oilPressure_value1, {oilPressure_hwChannel != 0} + field = "high voltage", oilPressure_v2, {oilPressure_hwChannel != 0} + field = "high pressure", oilPressure_value2, {oilPressure_hwChannel != 0} + + dialog = oilPressureGauges + gauge = OilPressGauge + gauge = rawOilPressureGauge + + dialog = oilPressureSensor, "", border + panel = oilp_settings, West + panel = oilPressureGauges, East + + dialog = fuelp_settings, "Fuel Pressure Sensor" + field = "Fuel low pressure ADC input", lowPressureFuel_hwChannel + field = "low voltage", lowPressureFuel_v1, {lowPressureFuel_hwChannel != 0} + field = "low pressure", lowPressureFuel_value1, {lowPressureFuel_hwChannel != 0} + field = "high voltage", lowPressureFuel_v2, {lowPressureFuel_hwChannel != 0} + field = "high pressure", lowPressureFuel_value2, {lowPressureFuel_hwChannel != 0} + field = "sensor type", fuelPressureSensorMode, {lowPressureFuel_hwChannel != 0} + + field = "Fuel high pressure ADC input", highPressureFuel_hwChannel + field = "low voltage", highPressureFuel_v1, {highPressureFuel_hwChannel != 0} + field = "low pressure", highPressureFuel_value1, {highPressureFuel_hwChannel != 0} + field = "high voltage", highPressureFuel_v2, {highPressureFuel_hwChannel != 0} + field = "high pressure", highPressureFuel_value2, {highPressureFuel_hwChannel != 0} + + dialog = fuelPressureGauges + gauge = lowFuelPressureGauge + gauge = rawLowFuelPressureGauge + gauge = highFuelPressureGauge + gauge = rawHighFuelPressureGauge + + dialog = fuelPressureSensor, "", border + panel = fuelp_settings, West + panel = fuelPressureGauges, East + + dialog = auxLinearSensor1, "Aux Linear Sensor #1" + field = "ADC input", auxLinear1_hwChannel + field = "Low voltage", auxLinear1_v1, {auxLinear1_hwChannel != 0} + field = "Low value", auxLinear1_value1, {auxLinear1_hwChannel != 0} + field = "High voltage", auxLinear1_v2, {auxLinear1_hwChannel != 0} + field = "High value", auxLinear1_value2, {auxLinear1_hwChannel != 0} + + dialog = auxLinearSensor2, "Aux Linear Sensor #2" + field = "ADC input", auxLinear2_hwChannel + field = "Low voltage", auxLinear2_v1, {auxLinear2_hwChannel != 0} + field = "Low value", auxLinear2_value1, {auxLinear2_hwChannel != 0} + field = "High voltage", auxLinear2_v2, {auxLinear2_hwChannel != 0} + field = "High value", auxLinear2_value2, {auxLinear2_hwChannel != 0} + + dialog = auxLinearSensors + panel = auxLinearSensor1 + panel = auxLinearSensor2 + field = auxSpeedSensorInputPin1, auxSpeedSensorInputPin1 + field = auxSpeedSensorInputPin2, auxSpeedSensorInputPin2 + +; Sensors->MAP sensor + dialog = mapSensorAnalog, "MAP sensor", yAxis + field = "MAP ADC input", map_sensor_hwChannel + field = "MAP type", map_sensor_type, { map_sensor_hwChannel != 0 } + field = "MAP value low point", map_sensor_lowValue, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } + field = "MAP voltage low point", mapLowValueVoltage, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } + field = "MAP value high point", map_sensor_highValue, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } + field = "MAP voltage high value", mapHighValueVoltage, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } + + dialog = mapCommon, "MAP common settings" + field = "Low value threshold", mapErrorDetectionTooLow + field = "High value threshold", mapErrorDetectionTooHigh + field = "" + field = "Measure Map Only In One Cylinder", measureMapOnlyInOneCylinder + field = "Cylinder count to sample MAP", mapMinBufferLength + + dialog = mapSettings, "", yAxis + panel = mapCommon + panel = mapSensorAnalog + + dialog = baroSettings, "Baro sensor" + field = "Baro ADC input", baroSensor_hwChannel + field = "Low Value", baroSensor_lowValue, {baroSensor_hwChannel != 0 || lps25BaroSensorScl != 0 } + field = "High Value", baroSensor_highValue, {baroSensor_hwChannel != 0 || lps25BaroSensorScl != 0 } + field = "Type", baroSensor_type, {baroSensor_hwChannel != 0 || lps25BaroSensorScl != 0 } + field = "LPS2x Baro SCL", lps25BaroSensorScl, { baroSensor_hwChannel == 0} + field = "LPS2x Baro SDA", lps25BaroSensorSda, { baroSensor_hwChannel == 0} + field = "Use fixed baro corr from MAP", useFixedBaroCorrFromMap + + dialog = mapCurves, "MAP sampling", yAxis + field = "isMapAveragingEnabled", isMapAveragingEnabled + panel = map_samplingAngleCurve + panel = map_samplingWindowCurve + + dialog = mafSettings, "MAF sensor", yAxis + field = "MAF ADC input", mafAdcChannel + field = "MAF 2 ADC input", maf2AdcChannel + + dialog = egoSettings_sensor, "EGO sensor" + settingSelector = "Common O2 Controllers" + settingOption = "BSPX", afr_v1=0,afr_v2=5,afr_value1=9,afr_value2=19,egoValueShift=0 + settingOption = "Innovate", afr_v1=0,afr_v2=5,afr_value1=7.35,afr_value2=22.39,egoValueShift=0 + settingOption = "14Point7", afr_v1=0,afr_v2=5,afr_value1=9.996,afr_value2=19.992,egoValueShift=0 + settingOption = "PLX", afr_v1=0,afr_v2=5,afr_value1=10,afr_value2=20,egoValueShift=0 + + field = "Low voltage", afr_v1 + field = "Low AFR", afr_value1 + field = "High voltage", afr_v2 + field = "High AFR", afr_value2 + field = "Correction", egoValueShift + + dialog = egoSettings_IO1, "EGO Sensor 1 I/O" + field = "Input channel", afr_hwChannel + field = "Heater output", o2heaterPin + + dialog = egoSettings_IO2, "EGO Sensor 2 I/O" + field = "Input channel", afr_hwChannel2 + + dialog = egoSettings, "", yAxis + field = "Enable CAN Wideband", enableAemXSeries, { canReadEnabled } + field = "Enable Innovate LC-2 Serial", enableInnovateLC2, { auxSerialRxPin && auxSerialTxPin } + panel = egoSettings_IO1 + panel = egoSettings_IO2, {afr_hwChannel != 0 && enableAemXSeries == 0 && !auxSerialRxPin && !auxSerialTxPin} + panel = egoSettings_sensor, {afr_hwChannel != 0 && enableAemXSeries == 0 && !auxSerialRxPin && !auxSerialTxPin} + +; Engine->EGT inputs + dialog = egtInputs, "EGT inputs" + field = "SPI", max31855spiDevice + field = "CS #1", max31855_cs1 + field = "CS #2", max31855_cs2 + field = "CS #3", max31855_cs3 + field = "CS #4", max31855_cs4 + field = "CS #5", max31855_cs5 + field = "CS #6", max31855_cs6 + field = "CS #7", max31855_cs7 + field = "CS #8", max31855_cs8 + +; Engine->idle Settings + dialog = idleSolenoid, "Solenoid" + field = "Idle Solenoid Primary output", idle_solenoidPin, { idle_solenoidPin != 0 || !useStepperIdle } + field = "Idle Solenoid Secondary output", secondSolenoidPin, { idle_solenoidPin != 0 || (!useStepperIdle && isDoubleSolenoidIdle ) } + field = "Idle Solenoid output(s) Mode", idle_solenoidPinMode, !useStepperIdle + field = "Idle Solenoid Frequency", idle_solenoidFrequency, !useStepperIdle + + dialog = etbHbridgeHardwareNo1, "H-Bridge Hardware No1" + field = "No1 Direction #1", etbIo1_directionPin1 + field = "No1 Direction #2", etbIo1_directionPin2 + field = "No1 Control", etbIo1_controlPin + field = "No1 Disable", etbIo1_disablePin + + dialog = etbHbridgeHardwareNo2, "H-Bridge Hardware No2" + field = "No2 Direction #1", etbIo2_directionPin1 + field = "No2 Direction #2", etbIo2_directionPin2 + field = "No2 Control", etbIo2_controlPin + field = "No2 Disable", etbIo2_disablePin + + dialog = etbHbridgeHardware, "ETB H-Bridge Hardware" + field = "Two-wire mode", etb_use_two_wires + panel = etbHbridgeHardwareNo1, { etbFunctions1 != 0 } + panel = etbHbridgeHardwareNo2, { etbFunctions2 != 0 } + + dialog = stepperHbridgeHardwareNo1, "H-Bridge Hardware No1" + field = "No1 Direction #1", stepperDcIo1_directionPin1 + field = "No1 Direction #2", stepperDcIo1_directionPin2 + field = "No1 Disable", stepperDcIo1_disablePin + + dialog = stepperHbridgeHardwareNo2, "H-Bridge Hardware No2" + field = "No2 Direction #1", stepperDcIo2_directionPin1 + field = "No2 Direction #2", stepperDcIo2_directionPin2 + field = "No2 Disable", stepperDcIo2_disablePin + + dialog = stepperHbridgeHardware, "Stepper H-Bridge Hardware" + topicHelp = "stepperHbridgeHardwareHelp" + field = "Inverted driver pins", stepperDcInvertedPins + panel = stepperHbridgeHardwareNo1, { etbFunctions1 != 0 } + panel = stepperHbridgeHardwareNo2, { etbFunctions2 != 0 } + + dialog = idleStepperHw, "Stepper Controller Hardware" + topicHelp = "idleStepperHwHelp" + field = "Idle Stepper Step Pin", idle_stepperStepPin + field = "Idle Stepper Dir Pin", idle_stepperDirectionPin + field = "Idle Stepper Dir Pin Mode", stepperDirectionPinMode + field = "Idle Stepper Enable Pin", stepperEnablePin + field = "Idle Stepper Enable Pin Mode", stepperEnablePinMode + + dialog = stepperDirectDriveHardware, "Stepper Direct-Drive Hardware" + topicHelp = "stepperDirectDriveHardwareHelp" + field = "Stepper A+", stepper_raw_output1 + field = "Stepper A-", stepper_raw_output2 + field = "Stepper B+", stepper_raw_output3 + field = "Stepper B-", stepper_raw_output4 + + dialog = idleStepperHwType, "" + panel = idleStepperHw, { useStepperIdle && !useHbridgesToDriveIdleStepper && !useRawOutputToDriveIdleStepper } + panel = stepperHbridgeHardware, { useStepperIdle && useHbridgesToDriveIdleStepper && !useRawOutputToDriveIdleStepper } + panel = stepperDirectDriveHardware, { useStepperIdle && !useHbridgesToDriveIdleStepper && useRawOutputToDriveIdleStepper } + + dialog = idleStepperGeneral, "" + field = "Drive stepper with dual H bridges", useHbridgesToDriveIdleStepper, useStepperIdle + field = "Drive stepper with PushPull outputs", useRawOutputToDriveIdleStepper, { useStepperIdle && !useHbridgesToDriveIdleStepper } + field = "Stepper reaction time", idleStepperReactionTime, useStepperIdle + field = "Stepper total steps", idleStepperTotalSteps, useStepperIdle + field = "Stepper parking extra steps, %", stepperParkingExtraSteps, useStepperIdle + field = "Force parking every restart", stepperForceParkingEveryRestart, useStepperIdle + + dialog = idleStepperMicro, "Micro-Stepping" + field = "Stepping Mode", stepperNumMicroSteps, useHbridgesToDriveIdleStepper + field = "Min. Duty Cycle", stepperMinDutyCycle, { useHbridgesToDriveIdleStepper && stepperNumMicroSteps > 1 } + field = "Max. Duty Cycle", stepperMaxDutyCycle, { useHbridgesToDriveIdleStepper && stepperNumMicroSteps > 1 } + + dialog = idleStepper, "Stepper" + panel = idleStepperGeneral + panel = idleStepperHwType + panel = idleStepperMicro + + dialog = idleHwType, "Idle Valve Hardware", yAxis + panel = idleSolenoid + panel = idleStepper + + dialog = idlehw, "", yAxis + field = "!ECU reboot needed to apply these settings" + field = "Use Stepper", useStepperIdle + field = "Double Solenoid Mode", isDoubleSolenoidIdle + field = "Electronic throttle idle range", etbIdleThrottleRange + panel = idleHwType + + dialog = idlePidSettings, "Closed Loop Idle" + field = "P-factor", idleRpmPid_pFactor + field = "I-factor", idleRpmPid_iFactor + field = "derivativeFilterLoss", idle_derivativeFilterLoss + field = "antiwindupFreq", idle_antiwindupFreq + field = "D-factor", idleRpmPid_dFactor + field = "Min", idleRpmPid_minValue + field = "Max", idleRpmPid_maxValue + field = "iTerm Min", idlerpmpid_iTermMin + field = "iTerm Max", idlerpmpid_iTermMax + field = "PID Extra for low RPM", pidExtraForLowRpm + field = "Use IAC PID Multiplier Table", useIacPidMultTable + + dialog = idleOpenLoop, "Open Loop Idle" + slider = "Open loop base position", manIdlePosition, horizontal + field = "A/C adder", acIdleExtraOffset + field = "A/C target adder", acIdleRpmBump + field = "Fan #1 adder", fan1ExtraIdle + field = "Fan #2 adder", fan2ExtraIdle + field = "Extra idle air if throttle pressed", iacByTpsTaper + + dialog = idleGating, "Idle Detection Thresholds" + field = "TPS threshold", idlePidDeactivationTpsThreshold + field = "RPM upper limit", idlePidRpmUpperLimit + field = "RPM deadzone", idlePidRpmDeadZone + field = "Max vehicle speed", maxIdleVss + + dialog = idleExtra, "Extra Idle Features" + field = "Use idle ignition table", useSeparateAdvanceForIdle + field = "Use idle VE table", useSeparateVeForIdle + field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } + field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper + field = "Use coasting idle table", useIacTableForCoasting + + dialog = idleSettings, "", yAxis + field = "Idle control mode", idleMode + + field = "! Solenoid idle control is disabled at zero RPM" + +; gating applies both to open loop and closed loop! + panel = idleGating +; closed loop mode is an addition on top of open loop, so idleOpenLoop stays open even when closed loop is selected + panel = idleOpenLoop + panel = idlePidSettings, { idleMode == 0 } + panel = idleExtra + + dialog = idleTimingPidCorrDialog, "", yAxis + field = "" + field = "Enable closed loop idle ignition timing", useIdleTimingPidControl + field = "" + field = "#Gain is in degrees advance per rpm away from target" + field = "#A good starting point is 0.1 = 10 deg per 100 rpm" + field = "Proportional gain", idleTimingPid_pFactor, {useIdleTimingPidControl == 1} + field = "Derivative gain", idleTimingPid_dFactor, {useIdleTimingPidControl == 1} + field = "" + field = "Min adjustment (retard)", idleTimingPid_minValue, {useIdleTimingPidControl == 1} + field = "Max adjustment (advance)", idleTimingPid_maxValue, {useIdleTimingPidControl == 1} + field = "" + field = "#Use debug mode 'Timing' to view idle timing adjustment" + +; Engine->Fan Settings + dialog = fan1Settings, "Fan 1" + field = "Output", fanPin + field = "Output mode", fanPinMode + field = "On temperature", fanOnTemperature + field = "Off temperature", fanOffTemperature + field = "Enable with AC", enableFan1WithAc + field = "Disable when engine stopped", disableFan1WhenStopped + field = "Idle adder", fan1ExtraIdle + + dialog = fan2Settings, "Fan 2" + field = "Output", fan2Pin + field = "Output mode", fan2PinMode + field = "On temperature", fan2OnTemperature + field = "Off temperature", fan2OffTemperature + field = "Enable with AC", enableFan2WithAc + field = "Disable when engine stopped", disableFan2WhenStopped + field = "Idle adder", fan2ExtraIdle + + dialog = fanTest, "", xAxis + commandButton = "Test Fan 1", cmd_test_fan_1 + commandButton = "Test Fan 2", cmd_test_fan_2 + + indicatorPanel = fanIndicators, 2 + indicator = { isFanOn }, "fan 1 off", "fan 1 on", white, black, green, black + indicator = { isFan2On }, "fan 2 off", "fan 2 on", white, black, green, black + + dialog = acSettingsWest, "A/C Settings" + field = "A/C switch", acSwitch + field = "A/C switch mode", acSwitchMode + field = "A/C Relay", acRelayPin + field = "A/C Relay Mode", acRelayPinMode + field = "A/C compressor delay", acDelay + field = "Max RPM", maxAcRpm + field = "Max CLT", maxAcClt + field = "Max TPS", maxAcTps + field = "A/C Idle adder", acIdleExtraOffset + field = "A/C RPM adder", acIdleRpmBump + + dialog = acSettings, "", border + panel = acSettingsWest, West + panel = ac_controlIndicatorPanel, East + + dialog = fanSetting, "Fan Settings" + panel = fan1Settings + panel = fan2Settings + panel = fanTest + panel = fanIndicators + + dialog = fuelPumpDialog, "Fuel Pump" + field = "Output", fuelPumpPin + field = "Output mode", fuelPumpPinMode + field = "Prime duration", startUpFuelPumpDuration + +; Controller->Actuator Outputs + dialog = mainRelayDialog, "Main relay output" + field = "Output", mainRelayPin + field = "Output mode", mainRelayPinMode + + dialog = starterRelayDialog, "Starter Disable" + field = "Output", starterRelayDisablePin + field = "Output mode", starterRelayDisablePinMode + + dialog = startStopDialog, "Starter Control" + field = "Start/Stop Button input", startStopButtonPin + field = "Start/Stop Button input mode", startStopButtonMode + field = "Starter Control", starterControlPin, { starterControlPin != 0 || startStopButtonPin != 0} + field = "Start cranking maximum time", startCrankingDuration, {startStopButtonPin != 0} + +; Engine->MIL Settings + dialog = malfunctionDialog, "Check Engine Settings" + field = "Output", malfunctionIndicatorPin + field = "Output mode", malfunctionIndicatorPinMode + field = "Warning Period", warningPeriod + + dialog = tachSettings, "Tachometer output" + field = "Output", tachOutputPin + field = "Output mode", tachOutputPinMode + field = "Pulse Mode", tachPulseDurationAsDutyCycle + field = "Pulse duration", tachPulseDuractionMs + field = "Pulse per Rev", tachPulsePerRev + + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + + dialog = outputsDialogLeft + panel = mainRelayDialog + panel = fuelPumpDialog + panel = tachSettings + panel = speedoSettings + panel = startStopDialog + panel = starterRelayDialog + panel = malfunctionDialog + + dialog = outputsDialog, "Outputs", border + panel = outputsDialogLeft, West + panel = fanSetting, Center + + dialog = softwareKnockCfg, "Sense" + field = "Enable", enableSoftwareKnock + field = "Cylinder Bore", cylinderBore + field = "Knock filter frequency", knockBandCustom, {enableSoftwareKnock} + field = "knockDetectionWindowStart",knockDetectionWindowStart, {enableSoftwareKnock} + field = "knockSamplingDuration", knockSamplingDuration, {enableSoftwareKnock} + + field = "" + field = "Select the nearest sensor for each cylinder" + field = "Cylinder 1", knockBankCyl1, {enableSoftwareKnock} + field = "Cylinder 2", knockBankCyl2, {enableSoftwareKnock && cylindersCount >= 2} + field = "Cylinder 3", knockBankCyl3, {enableSoftwareKnock && cylindersCount >= 3} + field = "Cylinder 4", knockBankCyl4, {enableSoftwareKnock && cylindersCount >= 4} + field = "Cylinder 5", knockBankCyl5, {enableSoftwareKnock && cylindersCount >= 5} + field = "Cylinder 6", knockBankCyl6, {enableSoftwareKnock && cylindersCount >= 6} + field = "Cylinder 7", knockBankCyl7, {enableSoftwareKnock && cylindersCount >= 7} + field = "Cylinder 8", knockBankCyl8, {enableSoftwareKnock && cylindersCount >= 8} + field = "Cylinder 9", knockBankCyl9, {enableSoftwareKnock && cylindersCount >= 9} + field = "Cylinder 10", knockBankCyl10, {enableSoftwareKnock && cylindersCount >= 10} + field = "Cylinder 11", knockBankCyl11, {enableSoftwareKnock && cylindersCount >= 11} + field = "Cylinder 12", knockBankCyl12, {enableSoftwareKnock && cylindersCount >= 12} + + dialog = softwareKnockResponseCfg, "Response" + field = knockRetardAggression, knockRetardAggression + field = knockRetardReapplyRate, knockRetardReapplyRate + + dialog = softwareKnockLeft, "" + panel = softwareKnockCfg + panel = softwareKnockResponseCfg + + dialog = softwareKnock, "Software Knock", border + panel = softwareKnockLeft, West + panel = knockThresholdCurve, Center + + dialog = spiFunction, "SPI settings" + field = "!ECU reboot needed to apply these settings" + field = "SPI1 enable", is_enabled_spi_1 + field = "SPI1 MOSI", spi1mosiPin, {is_enabled_spi_1 == 1} + field = "SPI1mosi mode", spi1MosiMode, {is_enabled_spi_1 == 1} + field = "SPI1 MISO", spi1misoPin, {is_enabled_spi_1 == 1} + field = "SPI1miso mode", spi1MisoMode, {is_enabled_spi_1 == 1} + field = "SPI1 SCK", spi1sckPin, {is_enabled_spi_1 == 1} + field = "SPI1sck mode", spi1SckMode, {is_enabled_spi_1 == 1} + + field = "SPI2 enable", is_enabled_spi_2 + field = "SPI2 MOSI", spi2mosiPin, {is_enabled_spi_2 == 1} + field = "SPI2mosi mode", spi2MosiMode, {is_enabled_spi_2 == 1} + field = "SPI2 MISO", spi2misoPin, {is_enabled_spi_2 == 1} + field = "SPI2miso mode", spi2MisoMode, {is_enabled_spi_2 == 1} + field = "SPI2 SCK", spi2sckPin, {is_enabled_spi_2 == 1} + field = "SPI2sck mode", spi2SckMode, {is_enabled_spi_2 == 1} + + field = "SPI3 enable", is_enabled_spi_3 + field = "SPI3 MOSI", spi3mosiPin, {is_enabled_spi_3 == 1} + field = "SPI3mosi mode", spi3MosiMode, {is_enabled_spi_3 == 1} + field = "SPI3 MISO", spi3misoPin, {is_enabled_spi_3 == 1} + field = "SPI3miso mode", spi3MisoMode, {is_enabled_spi_3 == 1} + field = "SPI3 SCK", spi3sckPin, {is_enabled_spi_3 == 1} + field = "SPI3sck mode", spi3SckMode, {is_enabled_spi_3 == 1} + field = "LIS302DLCsPin", LIS302DLCsPin + + dialog = stftPartitioning, "Region Configuration" + field = "Idle region RPM", stft_maxIdleRegionRpm + field = "Overrun region load", stft_maxOverrunLoad + field = "Power region load", stft_minPowerLoad + + dialog = stftPartitionSettingsMain, "Main Region", xAxis + field = "Time const", stft_cellCfgs4_timeConstant + field = "Max add", stft_cellCfgs4_maxAdd + field = "Max remove", stft_cellCfgs4_maxRemove + + dialog = stftPartitionSettingsIdle, "Idle Region", xAxis + field = "Time const", stft_cellCfgs1_timeConstant + field = "Max add", stft_cellCfgs1_maxAdd + field = "Max remove", stft_cellCfgs1_maxRemove + + dialog = stftPartitionSettingsPower, "Power Region", xAxis + field = "Time const", stft_cellCfgs3_timeConstant + field = "Max add", stft_cellCfgs3_maxAdd + field = "Max remove", stft_cellCfgs3_maxRemove + + dialog = stftPartitionSettingsOverrun, "Overrun Region", xAxis + field = "Time const", stft_cellCfgs2_timeConstant + field = "Max add", stft_cellCfgs2_maxAdd + field = "Max remove", stft_cellCfgs2_maxRemove + + dialog = fuelClosedLoopDialog, "Closed loop fuel correction" + field = "Enabled", fuelClosedLoopCorrectionEnabled + + field = "Startup delay" stft_startupDelay, {fuelClosedLoopCorrectionEnabled == 1} + field = "Minimum CLT for correction", stft_minClt, {fuelClosedLoopCorrectionEnabled == 1} + field = "Minimum AFR for correction", stft_minAfr, {fuelClosedLoopCorrectionEnabled == 1} + field = "Maximum AFR for correction", stft_maxAfr, {fuelClosedLoopCorrectionEnabled == 1} + field = "Adjustment deadband", stft_deadband, {fuelClosedLoopCorrectionEnabled == 1} + field = "Ignore error magnitude", stftIgnoreErrorMagnitude, {fuelClosedLoopCorrectionEnabled == 1} + + panel = stftPartitioning, {fuelClosedLoopCorrectionEnabled == 1} + panel = stftPartitionSettingsMain, {fuelClosedLoopCorrectionEnabled == 1} + panel = stftPartitionSettingsIdle, {fuelClosedLoopCorrectionEnabled == 1} + panel = stftPartitionSettingsPower, {fuelClosedLoopCorrectionEnabled == 1} + panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1} + + dialog = lambdaProtectionLeft, "" + field = "Enable lambda protection", lambdaProtectionEnable + field = "Check above load", lambdaProtectionMinLoad, { lambdaProtectionEnable } + field = "and above TPS", lambdaProtectionMinTps, { lambdaProtectionEnable } + field = "and above RPM", lambdaProtectionMinRpm, { lambdaProtectionEnable } + field = "and after delay", lambdaProtectionTimeout { lambdaProtectionEnable } + field = "Then cut fuel until:" + field = "Load less than", lambdaProtectionRestoreLoad, { lambdaProtectionEnable } + field = "and TPS less than", lambdaProtectionRestoreTps, { lambdaProtectionEnable } + field = "and RPM less than", lambdaProtectionRestoreRpm, { lambdaProtectionEnable } + + dialog = lambdaProtectionRight, "Lambda Difference Table" + panel = lambdaMaxDeviationTableTbl + + dialog = lambdaProtection, "Lambda Protection", border + panel = lambdaProtectionLeft, West + panel = lambdaProtectionRight, East + + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + + dialog = vvtPidDialog0, "Configuration" + field = "Activation Delay", vvtActivationDelayMs + field = "Do not control below RPM", vvtControlMinRpm + field = "VVT solenoid bank 1 intake", vvtPins1 + field = "VVT solenoid bank 1 exhaust", vvtPins2 + field = "VVT solenoid bank 2 intake", vvtPins3 + field = "VVT solenoid bank 2 exhaust", vvtPins4 + field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} + field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } + field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping + + dialog = vvtPidDialog1, "Intake PID" + field = "offset", auxPid1_offset, {vvtPins1 != 0} + field = "P factor", auxPid1_pFactor, {vvtPins1 != 0} + field = "I factor", auxPid1_iFactor, {vvtPins1 != 0} + field = "D factor", auxPid1_dFactor, {vvtPins1 != 0} + field = "Min", auxPid1_minValue, {vvtPins1 != 0} + field = "Max", auxPid1_maxValue, {vvtPins1 != 0} + + dialog = vvtPidDialog2, "Exhaust PID" + field = "offset", auxPid2_offset, {vvtPins2 != 0} + field = "P factor", auxPid2_pFactor, {vvtPins2 != 0} + field = "I factor", auxPid2_iFactor, {vvtPins2 != 0} + field = "D factor", auxPid2_dFactor, {vvtPins2 != 0} + field = "Min", auxPid2_minValue, {vvtPins2 != 0} + field = "Max", auxPid2_maxValue, {vvtPins2 != 0} + + dialog = vvtPidDialog, "VVT Configuration & PID", border + panel = vvtPidDialog0, West + panel = vvtPidDialog1, Center + panel = vvtPidDialog2, East + +; Engine->Battery & Alternator + dialog = batteryDialog, "Battery Settings", yAxis + field = "vBatt ADC input", vbattAdcChannel + field = "Battery Input Divider Coefficient", vbattDividerCoeff + dialog = alternator, "Alternator Settings", yAxis + field = "Enabled", isAlternatorControlEnabled + field = "Target", targetVBatt, {isAlternatorControlEnabled == 1} + field = "Control output", alternatorControlPin, {isAlternatorControlEnabled == 1} + field = "Control outpur mode", alternatorControlPinMode, {isAlternatorControlEnabled == 1} + field = "PWM frequency", alternatorPwmFrequency, {isAlternatorControlEnabled == 1} + field = "Off Above TPS", alternatorOffAboveTps, {isAlternatorControlEnabled == 1} + field = "A/C duty adder", acRelayAlternatorDutyAdder, {isAlternatorControlEnabled == 1} + field = "Detailed status in console", isVerboseAlternator, {isAlternatorControlEnabled == 1} + field = "#PID control" + field = "offset", alternatorControl_offset, {isAlternatorControlEnabled == 1} + field = "P factor", alternatorControl_pFactor, {isAlternatorControlEnabled == 1} + field = "I factor", alternatorControl_iFactor, {isAlternatorControlEnabled == 1} + field = "D factor", alternatorControl_dFactor, {isAlternatorControlEnabled == 1} + field = "Min", alternatorControl_minValue, {isAlternatorControlEnabled == 1} + field = "Max", alternatorControl_maxValue, {isAlternatorControlEnabled == 1} + field = "#% duty = Pterm + Iterm + Dterm + offset%" + + dialog = energySystems, "Battery and Alternator Settings", yAxis + panel = batteryDialog + panel = alternator + + dialog = speedSensorAnalog, "Speed sensor" + field = "Input", vehicleSpeedSensorInputPin + field = "Filter parameter", vssFilterReciprocal, { vehicleSpeedSensorInputPin != 0 } + +; +; We prefer quantities that users can actually measure or inspect without math, so we have +; two separate natural settings here without one 'sensor tooth to wheel revolution' ratio +; + field = "Wheel revolutions per kilometer", driveWheelRevPerKm + field = "Speed sensor gear ratio", vssGearRatio, { vehicleSpeedSensorInputPin != 0 } + field = "Speed sensor tooth count", vssToothCount, { vehicleSpeedSensorInputPin != 0 } + + dialog = speedSensorCan, "CAN Vehicle Speed" + field = "Enable CAN VSS", enableCanVss, { canReadEnabled } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } + + dialog = speedSensorLeft, "", yAxis + panel = speedSensorAnalog, { enableCanVss == 0 } + panel = speedSensorCan + + dialog = gearDetection, "Gear Detection" + field = "Wheel revolutions per kilometer", driveWheelRevPerKm + field = "Final drive ratio", finalGearRatio + field = "" + field = "Forward gear count", totalGearsCount + field = "" + field = "1st gear", gearRatio1, { totalGearsCount >= 1 } + field = "2nd gear", gearRatio2, { totalGearsCount >= 2 } + field = "3rd gear", gearRatio3, { totalGearsCount >= 3 } + field = "4th gear", gearRatio4, { totalGearsCount >= 4 } + field = "5th gear", gearRatio5, { totalGearsCount >= 5 } + field = "6th gear", gearRatio6, { totalGearsCount >= 6 } + field = "7th gear", gearRatio7, { totalGearsCount >= 7 } + field = "8th gear", gearRatio8, { totalGearsCount >= 8 } + + dialog = speedSensor, "Speed sensor", xAxis + panel = speedSensorLeft + gauge = VSSGauge + panel = gearDetection + +; Board->Connection + dialog = tsPort, "Calibration Secondary Serial" + field = "tunerStudioSerialSpeed", tunerStudioSerialSpeed + field = "TX pin", binarySerialTxPin + field = "RX pin", binarySerialRxPin + + dialog = canHw1, "Primary CAN" + field = "Verbose Can", verboseCan + field = "Bitrate", canBaudRate + field = "RX pin", canRxPin + field = "TX pin", canTxPin + field = "Allow OpenBLT", canOpenBLT + + dialog = canHw2, "Secondary CAN" + field = "Verbose Can2", verboseCan2 + field = "Bitrate", can2BaudRate + field = "RX pin", can2RxPin + field = "TX pin", can2TxPin + field = "Allow OpenBLT", can2OpenBLT + + dialog = canBus, "CAN Bus" + field = "CAN read enabled", canReadEnabled + field = "CAN write enabled", canWriteEnabled + field = "CAN dash type", canNbcType + field = "inertia measurement unit", imuType + field = "Enable FOME CAN broadcast", enableVerboseCanTx + field = verboseIsoTp, verboseIsoTp + field = "FOME CAN data bus", canBroadcastUseChannelTwo + field = "FOME CAN data base address", verboseCanBaseAddress + field = "FOME CAN data address type", rusefiVerbose29b + field = "FOME CAN data period", canSleepPeriodMs + + dialog = canBus2, "Secondary CAN Bus" + + dialog = canBusMain, "CAN Bus Communication", yAxis + panel = canBus + + panel = canHw1 + panel = canHw2 + + dialog = auxSerial, "AUX Sensor Serial" + field = "RX pin", auxSerialRxPin + field = "TX pin", auxSerialTxPin + field = "Serial Baud Rate", auxSerialSpeed + + dialog = sdCard, "SD Card Logger" + field = "#FOME logs to SD when powered without USB connected" + field = "#FOME connects SD to your PC when powered by USB" + field = "Enable SD Card", isSdCardEnabled + field = "CS Pin", sdCardCsPin + field = "SPI", sdCardSpiDevice + field = "SD logger rate", sdCardLogFrequency + field = "SD logger mode", sdTriggerLog + + dialog = tle8888, "TLE8888", yAxis + field = "TLE8888 Chip Select", tle8888_cs + field = "TLE8888 SPI", tle8888spiDevice + field = "Mode", tle8888mode + field = "useTLE8888 cranking reset hack", useTLE8888_cranking_hack + field = "useTLE8888 stepper", useTLE8888_stepper + commandButton = "Reinit", cmd_tle8888_init + field = "L9779 SPI", tle8888spiDevice + + dialog = connection, "", yAxis + panel = tsPort + field = "uartConsoleSerialSpeed", uartConsoleSerialSpeed + panel = auxSerial + + dialog = monitoringSettings, "FOME Console Settings" + field = "Sensor Sniffer", sensorChartMode + field = " Threshold", sensorSnifferRpmThreshold + field = "Engine Sniffer Threshold", engineSnifferRpmThreshold + + dialog = generalSettings, "Fuel" + field = "!https://wiki.fome.tech/r/fuel" + field = "Fuel strategy", fuelAlgorithm + + dialog = debugging, "Debug" + field = "!https://wiki.fome.tech/r/debugmode" + field = "Debug mode", debugMode + + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + + dialog = limitsSettings, "Limits" + field = "Cut fuel on RPM limit", cutFuelOnHardLimit + field = "Cut spark on RPM limit", cutSparkOnHardLimit + field = "Use CLT-based RPM limit curve", useCltBasedRpmLimit, { cutFuelOnHardLimit || cutSparkOnHardLimit } + field = "RPM hard limit", rpmHardLimit, { (cutFuelOnHardLimit || cutSparkOnHardLimit) && !useCltBasedRpmLimit } + field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } + field = "Boost cut pressure", boostCutPressure + field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting + + dialog = etbLimits, "Electronic Throttle Limiting" + field = "Smoothly close the throttle to limit RPM." + field = "Soft limiter start", etbRevLimitStart + field = "Soft limiter range", etbRevLimitRange + + dialog = limitsAndFallbackLeft + panel = limitsSettings + panel = etbLimits + + dialog = limitsAndFallbackCenter, "CLT-based RPM Limit" + panel = cltRevLimitCurve + + dialog = limitsAndFallback, "Limits and fallbacks", border + panel = limitsAndFallbackLeft, West + panel = limitsAndFallbackCenter, Center, { (cutFuelOnHardLimit || cutSparkOnHardLimit) && useCltBasedRpmLimit } + +; Engine->Base Engine Settings + dialog = engineChars, "Base Engine Settings" + topicHelp = "baseHelp" + panel = baseEngineConfig + panel = engineMetadata + panel = generalSettings + panel = debugging + + dialog = crankingFuel, "Fuel" + field = "Injection mode", crankingInjectionMode + field = "Fuel Source For Cranking", useRunningMathForCranking + field = "Base fuel mass", cranking_baseFuel, {useRunningMathForCranking == 0} + + dialog = crankingIAC, "Idle air valve" + field = "Cranking base IAC position", crankingIACposition + field = "After cranking IAC taper duration",afterCrankingIACtaperDuration + field = "Override cranking IAC CLT multiplier", overrideCrankingIacSetting + + dialog = crankingIgnition, "Ignition" + field = "Timing Advance mode", useSeparateAdvanceForCranking + field = "Fixed cranking advance", crankingTimingAngle, {useSeparateAdvanceForCranking == 0} + field = "Fixed Cranking Dwell", ignitionDwellForCrankingMs + + dialog = postCrankingEnrichment, "After start enrichment" + field = "Post-Cranking factor", postCrankingFactor + field = "Duration", postCrankingDurationSec + + dialog = primingFuelPulsePanel, "Priming fuel pulse" + field = "Priming delay", primingDelay + panel = primingPulse + + dialog = crankingAdv, "Advanced" + field = "Enable flood clear", isCylinderCleanupEnabled + field = "Enable faster engine spin-up", isFasterEngineSpinUpEnabled + field = "Use Advance Corrections for cranking", useAdvanceCorrectionsForCranking + field = "Use Flex Fuel cranking table", flexCranking, { flexSensorPin != 0 } + +; Cranking->Cranking Settings + dialog = crankingDialog, "Cranking Settings" + field = "Cranking RPM limit", cranking_rpm + panel = crankingFuel + panel = crankingIgnition + panel = crankingIAC + panel = crankingAdv + + dialog = TpsAccelPanel, "TPS" + field = "Set 'Debug Mode' to see detailed 'TPS acceleration enrichment' diagnostics" + field = "Length", tpsAccelLookback + field = "Accel Threshold", tpsAccelEnrichmentThreshold + field = "Decel Threshold", tpsDecelEnleanmentThreshold +; field = "Decel Multiplier", tpsDecelEnleanmentMultiplier + field = "#Accelerator Pump model:" + field = "Fraction Period", tpsAccelFractionPeriod + field = "Fraction Divisor", tpsAccelFractionDivisor + + dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } + + +; Tuning->AccelEnrichment + dialog = AccelEnrich, "Accel/Decel Enrichment" + panel = TpsAccelPanel + panel = WallWettingAccelPanel + field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + + + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + + dialog = auxValvesIO, "Outputs" + field = "aux valve #1", auxValves1 + field = "aux valve #2", auxValves2 + + dialog = scriptSetting, "Setting" + field = "!Use FOME console for Lua script editing" + field = "Set number is not associated with the output number." + field = "Set number, only the cell number with some numbers." + field = "Name #1", scriptSettingName1 + field = "Setting #1", scriptSetting1 + field = "Name #2", scriptSettingName2 + field = "Setting #2", scriptSetting2 + field = "Name #3", scriptSettingName3 + field = "Setting #3", scriptSetting3 + field = "Name #4", scriptSettingName4 + field = "Setting #4", scriptSetting4 + field = "Name #5", scriptSettingName5 + field = "Setting #5", scriptSetting5 + field = "Name #6", scriptSettingName6 + field = "Setting #6", scriptSetting6 + + dialog = scriptSettingDialog, "Script Settings", border + panel = scriptSetting, East + + dialog = luaDigitalInputsLeftDialog + field = "Digital #1", luaDigitalInputPins1 + field = "Digital #2", luaDigitalInputPins2 + field = "Digital #3", luaDigitalInputPins3 + field = "Digital #4", luaDigitalInputPins4 + field = "Digital #5", luaDigitalInputPins5 + field = "Digital #6", luaDigitalInputPins6 + field = "Digital #7", luaDigitalInputPins7 + field = "Digital #8", luaDigitalInputPins8 + + dialog = luaDigitalInputsRightDialog + field = "Mode #1", luaDigitalInputPinModes1 + field = "Mode #2", luaDigitalInputPinModes2 + field = "Mode #3", luaDigitalInputPinModes3 + field = "Mode #4", luaDigitalInputPinModes4 + field = "Mode #5", luaDigitalInputPinModes5 + field = "Mode #6", luaDigitalInputPinModes6 + field = "Mode #7", luaDigitalInputPinModes7 + field = "Mode #8", luaDigitalInputPinModes8 + + dialog = luaDigitalInputsDialog, "Lua Digital Inputs", border + panel = luaDigitalInputsLeftDialog, West + panel = luaDigitalInputsRightDialog, East + + dialog = auxInputsDialog, "Lua Analog Inputs" + field = "ADC #1", auxAnalogInputs1 + field = "ADC #2", auxAnalogInputs2 + field = "ADC #3", auxAnalogInputs3 + field = "ADC #4", auxAnalogInputs4 + field = "ADC #5", auxAnalogInputs5 + field = "ADC #6", auxAnalogInputs6 + field = "ADC #7", auxAnalogInputs7 + field = "ADC #8", auxAnalogInputs8 + + dialog = luaOutputs, "Lua Outputs" + field = "!Use FOME console for Lua script editing" + field = "#Call startPwm to initialize, then call" + field = "#setPwmDuty and setPwmFreq to vary duty/freq" + field = "#See https://wiki.fome.tech/r/lua for more info" + field = "output #0", luaOutputPins1 + field = "output #1", luaOutputPins2 + field = "output #2", luaOutputPins3 + field = "output #3", luaOutputPins4 + field = "output #4", luaOutputPins5 + field = "output #5", luaOutputPins6 + field = "output #6", luaOutputPins7 + field = "output #7", luaOutputPins8 + + dialog = transmissionPanel + field = "TCU Enabled" tcuEnabled + field = "Gear Controller" gearControllerMode, { tcuEnabled } + field = "Transmission Controller" transmissionControllerMode, { tcuEnabled } + + dialog = shiftSolenoidPanel, "Shift Solenoids" + field = "Solenoid 1 output" tcu_solenoid1, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 1 output Mode" tcu_solenoid_mode1, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 2 output" tcu_solenoid2, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 2 output Mode" tcu_solenoid_mode2, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 3 output" tcu_solenoid3, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 3 output Mode" tcu_solenoid_mode3, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 4 output" tcu_solenoid4, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 4 output Mode" tcu_solenoid_mode4, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 5 output" tcu_solenoid5, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 5 output Mode" tcu_solenoid_mode5, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 6 output" tcu_solenoid6, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 6 output Mode" tcu_solenoid_mode6, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "3-2 Solenoid output" tcu_32_solenoid_pin, { tcuEnabled && (transmissionControllerMode == 2) } + field = "3-2 Solenoid output mode" tcu_32_solenoid_pin_mode, { tcuEnabled && (transmissionControllerMode == 2) } + field = "3-2 Solenoid Frequency" tcu_32_solenoid_freq, { tcuEnabled && (transmissionControllerMode == 2) } + + dialog = otherSolenoidPanel, "Other Solenoids" + field = "TCC On/Off Solenoid Pin" tcu_tcc_onoff_solenoid, { tcuEnabled && (transmissionControllerMode == 2) } + field = "TCC On/Off Solenoid Pin Mode" tcu_tcc_onoff_solenoid_mode, { tcuEnabled && (transmissionControllerMode == 2) } + field = "TCC PWM Solenoid Pin" tcu_tcc_pwm_solenoid, { tcuEnabled && (transmissionControllerMode == 2) } + field = "TCC PWM Solenoid Pin Mode" tcu_tcc_pwm_solenoid_mode, { tcuEnabled && (transmissionControllerMode == 2) } + field = "TCC PWM Solenoid Frequency" tcu_tcc_pwm_solenoid_freq, { tcuEnabled && (transmissionControllerMode == 2) } + field = "Pressure Control Solenoid Pin" tcu_pc_solenoid_pin, { tcuEnabled && (transmissionControllerMode == 2) } + field = "Pressure Control Solenoid Pin Mode" tcu_pc_solenoid_pin_mode, { tcuEnabled && (transmissionControllerMode == 2) } + field = "Pressure Control Solenoid Frequency" tcu_pc_solenoid_freq, { tcuEnabled && (transmissionControllerMode == 2) } + + dialog = buttonShiftInputPanel, "Switch/Button Shift" + field = "Upshift Pin" tcuUpshiftButtonPin, { tcuEnabled && gearControllerMode == 1 } + field = "Upshift Pin Mode" tcuUpshiftButtonPinMode, { tcuEnabled && gearControllerMode == 1 } + field = "Downshift Pin" tcuDownshiftButtonPin, { tcuEnabled && gearControllerMode == 1 } + field = "Downshift Pin Mode" tcuDownshiftButtonPinMode, { tcuEnabled && gearControllerMode == 1 } + + dialog = inputSpeedSensorPanel, "Input Speed Sensor" + field = "Input Pin", tcuInputSpeedSensorPin + field = "Filter parameter", issFilterReciprocal, { tcuInputSpeedSensorPin != 0 } + field = "Tooth Count", tcuInputSpeedSensorTeeth + +dialog = tcuControls, "Transmission Settings" + panel = transmissionPanel + panel = shiftSolenoidPanel + panel = otherSolenoidPanel + + dialog = gearControls, "Gear Selection Settings" + panel = buttonShiftInputPanel + + dialog = inputSpeedSensor, "Input Speed Sensor" + panel = inputSpeedSensorPanel + + dialog = tccCurves, "TCC Lock/Unlock Speed" + panel = tccLockCurve + + dialog = pcPerGearDialog, "Line Pressure Per Gear Steady State" + panel = pcPerGearCurve + + dialog = pcPerShiftDialog, "Line Pressure Per Shift" + panel = pcPerShiftCurve + + dialog = 32Dialog, "3-2 Shift Solenoid Percent by Speed" + panel = 32Curve + +;Boost Open Loop + + dialog = boostDialog, "" + field = "Enable", isBoostControlEnabled + field = "Control Mode", boostType, { isBoostControlEnabled } + field = "Output", boostControlPin, { boostControlPin != 0 || isBoostControlEnabled } + field = "Output Mode", boostControlPinMode, { isBoostControlEnabled } + field = "Frequency", boostPwmFrequency, { isBoostControlEnabled } + field = "Safe duty cycle", boostControlSafeDutyCycle, { isBoostControlEnabled } + field = "No boost control below RPM", boostControlMinRpm, { isBoostControlEnabled } + field = "No boost control below TPS", boostControlMinTps, { isBoostControlEnabled } + field = "No boost control below MAP", boostControlMinMap, { isBoostControlEnabled } + + dialog = boostOpenLoopDialog, "", border + panel = boostTableTbl, Center + +;Boost Closed Loop + + dialog = boostPidDialog, "" + topicHelp = "boostPidHelp" + field = "Enable closed loop above", minimumBoostClosedLoopMap, { isBoostControlEnabled && boostType == 1 } + field = "P Gain", boostPid_pFactor, { isBoostControlEnabled && boostType == 1 } + field = "I Gain", boostPid_iFactor, { isBoostControlEnabled && boostType == 1 } + field = "D Gain", boostPid_dFactor, { isBoostControlEnabled && boostType == 1 } + field = "Min adjustment", boostPid_minValue, { isBoostControlEnabled && boostType == 1 } + field = "Max adjustment", boostPid_maxValue, { isBoostControlEnabled && boostType == 1 } + + dialog = boostTargetDialog, "", card + panel = boostTable2Tbl + + dialog = boostEtbPid, "" + field = "This PID is controlling how DC motor reaches desired position" + field = "" + field = "!This section is for advanced users only!" + field = "H-Bridge #1 function", etbFunctions1 + field = "H-Bridge #2 function", etbFunctions2 + field = "P gain", etbWastegatePid_pFactor, { isBoostControlEnabled } + field = "I gain", etbWastegatePid_iFactor, { isBoostControlEnabled } + field = "D gain", etbWastegatePid_dFactor, { isBoostControlEnabled } + field = "PID min", etbWastegatePid_minValue, { isBoostControlEnabled } + field = "PID max", etbWastegatePid_maxValue, { isBoostControlEnabled } + + help = boostPidHelp, "Boost Control PID" + text = "P = % per kPa error" + text = "I = % per kPa-seconds" + text = "D = % per kPa/sec" + text = "" + text = "If the boost error is 5kpa, and your P is set to 2, it will make a correction of 10%." + text = "If the boost error has been 5kPa for 2 second (10 kPa-seconds) and I is set to 0.1, it will make a correction of 1%" + text = "If the boost is changing at 10kPa/s and D is set to 0.5, it will make a correction of 5%." + text = "Those three terms are then added together, and limited by the PID min/max settings." + text = "" + text = "That is then added to the value from the open loop table, and sent to PWM the valve." + + help = veTableDialogHelp, "Volumetric Efficiency" + text = "Volumetric Efficiency is used to calculate fuel in Speed Density mode. VE incorporates pressure ratio as measured by MAP sensor in boost (no VE ever above 105%ish)" + webHelp = "https://wiki.fome.tech/r/fuel" + + help = stepperHbridgeHardwareHelp, "Stepper driven by Dual H-bridge" + text = "In case you are using two H-bridges driving 4-wire stepper. H-brigde control signals connected to MCU pins configured here." + + help = idleStepperHwHelp, "Stepper drivern by step motor driver IC" + text = "In case you have some special IC that drives your stepper. MCU to IC control signals (DIR/STEP/EN) configured here" + + help = stepperDirectDriveHardwareHelp, "Stepper driven by 4 Push-Pull/Pull outputs" + text = "In case you have 4/6-wire stepper driven by 4 ECU outputs in Push-Pull or Pull mode. Set ECU outputs used for each phase here." + + help = iatFuelCorrCurveHelp, "IAT Fuel Correction" + text = "Charge temperature estimation coefficient is the more proper way to handle IAT for fuel purposes" + text = "Open question who if anyone needs IAT Fuel Correction when" + + help = fuelHelp, "Fuel Control" + text = "More about fuel control on the web" + webHelp = "https://wiki.fome.tech/r/fuel" + + help = triggerHelp, "Trigger Settings" + text = "More about Trigger Settings on the web" + webHelp = "https://wiki.fome.tech/r/trigger" + + help = etbHelp, "ETB Control" + text = "More about electronic throttle body on the web" + webHelp = "https://wiki.fome.tech/r/etb" + + help = vrThresholdHelp, "VR Sensor Threshold" + text = "This is about FOME VR Discrete decoder" + webHelp = "https://wiki.fome.tech/r/vr" + + help = tpsTpsHelp, "Acceleration Enrichment" + text = "More about Tps To Tps acceleration on the web" + webHelp = "https://wiki.fome.tech/r/tpstps" + + help = baseHelp, "Base Settings Control" + text = "More about FOME on the web" + webHelp = "https://wiki.fome.tech" + + dialog = veTableDialog + topicHelp = "veTableDialogHelp" + panel = veTableTbl, South + + dialog = veTableDialog3D, "VE Table" + topicHelp = "veTableDialogHelp" + panel = veTableMap, South + + dialog = etbPidDialog, "PID settings" + field = "pFactor", etb_pFactor + field = "iFactor", etb_iFactor + field = "dFactor", etb_dFactor + field = "pid min", etb_minValue + field = "pid max", etb_maxValue + field = "iTermMin", etb_iTermMin + field = "iTermMax", etb_iTermMax + + dialog = etbIdleDialog, "ETB Idle" + field = "ETB idle maximum angle", etbIdleThrottleRange + + dialog = etbDialogLeft + field = "https://wiki.fome.tech/r/etb" + field = "Disable ETB if engine is stopped", disableEtbWhenEngineStopped + field = "Disable ETB Motor", pauseEtbControl + field = "H-Bridge #1 function", etbFunctions1 + field = "H-Bridge #2 function", etbFunctions2 + field = "PWM Frequency", etbFreq + field = "Minimum ETB position", etbMinimumPosition + field = "Maximum ETB position", etbMaximumPosition + field = "Jam detection integrator max", etbJamIntegratorLimit + field = "Jam detection timeout period", etbJamTimeout + field = "Duty Averaging Length", etbExpAverageLength + field = "Rate of change Averaging Length", etbRocExpAverageLength + ; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility + ; criteria for the same panel when used in multiple places + ; todo: report bug to TS? + ; another todo: split panel into two panels so that we can enable/disable h-bridge #1 separately from h-bridge #2 + panel = etbHbridgeHardware, { etbFunctions1 != 0 || etbFunctions2 != 0 || (useStepperIdle && useHbridgesToDriveIdleStepper) } + + dialog = etbAutotune, "PID Autotune" + field = "First step: calibrate TPS and hit 'Burn'" + commandButton = "Auto Calibrate ETB 1", cmd_etb_auto_calibrate, {etb1configured == 1 && tps1_1AdcChannel != 0 && calibrationMode == 0} + commandButton = "Auto Calibrate ETB 2", cmd_etb_auto_calibrate_2, {etb2configured == 1 && tps2_1AdcChannel != 0 && calibrationMode == 0} + field = "Second step" + commandButton = "Start ETB PID Autotune", cmd_etb_autotune, {(etb1configured == 1 || etb2configured == 1) && calibrationMode = 0} + commandButton = "Stop ETB PID Autotune", cmd_etb_autotune_stop, {(etb1configured == 1 || etb2configured == 1) && calibrationMode >= 3 && calibrationMode <= 5} + + field = "!Set debug mode below to 'ETB Autotune' to show more detail" + field = "Debug mode", debugMode + + dialog = etbDialogRight + panel = etbIdleDialog,{ etbFunctions1 == 1 || etbFunctions1 == 2 || etbFunctions2 == 1 || etbFunctions2 == 2 } + panel = etbPidDialog, { etbFunctions1 == 1 || etbFunctions1 == 2 || etbFunctions2 == 1 || etbFunctions2 == 2 } + panel = etbAutotune, { etbFunctions1 == 1 || etbFunctions1 == 2 || etbFunctions2 == 1 || etbFunctions2 == 2 } + + dialog = etbDialog, "Electronic Throttle Body", border + topicHelp = "etbHelp" + panel = etbDialogLeft, West + panel = etbDialogRight, East + + dialog = testMisc, "Misc" + commandButton = "Main Relay", cmd_test_main_relay + commandButton = "Fuel pump on", cmd_fuel_pump_on + commandButton = "Fuel pump off", cmd_fuel_pump_off + commandButton = "Cooling Fan", cmd_test_fan_1 + commandButton = "Cooling Fan 2", cmd_test_fan_2 + commandButton = "A/C Relay", cmd_test_ac_relay + commandButton = "Check Engine", cmd_test_check_engine_light + commandButton = "Idle Air Valve", cmd_test_idle_valve + commandButton = "Idle Second Air Valve", cmd_test_second_idle_valve + commandButton = "HPFP Valve", cmd_test_hpfp_valve + commandButton = "Starter Relay", cmd_test_starter_relay + commandButton = "Stop Engine", cmd_stop_engine + commandButton = "Write Config", cmd_write_config + commandButton = "Reset ECU", cmd_reset_controller + commandButton = "Reset to DFU", cmd_dfu + commandButton = "Reset to OpenBLT", cmd_openblt + commandButton = "No flash Burn mode", cmd_burn_without_flash + + ; bench test + dialog = ioTest, "Bench Test & Commands", xAxis + panel = testOther + panel = testLuaOut + panel = testMisc + + ; Injectors test + dialog = injTest_l, "" + commandButton = "Injector #1", cmd_test_inj1 + commandButton = "Injector #2", cmd_test_inj2, { cylindersCount >= 2 } + commandButton = "Injector #3", cmd_test_inj3, { cylindersCount >= 3 } + commandButton = "Injector #4", cmd_test_inj4, { cylindersCount >= 4 } + commandButton = "Injector #5", cmd_test_inj5, { cylindersCount >= 5 } + commandButton = "Injector #6", cmd_test_inj6, { cylindersCount >= 6 } + commandButton = "Injector #7", cmd_test_inj7, { cylindersCount >= 7 } + commandButton = "Injector #8", cmd_test_inj8, { cylindersCount >= 8 } + commandButton = "Injector #9", cmd_test_inj9, { cylindersCount >= 9 } + commandButton = "Injector #10", cmd_test_inj10, { cylindersCount >= 10 } + commandButton = "Injector #11", cmd_test_inj11, { cylindersCount >= 11 } + commandButton = "Injector #12", cmd_test_inj12, { cylindersCount >= 12 } + + dialog = injTest_c, "", yAxis + field = "Iterations", benchTestCount + field = "ON time", benchTestOnTime + field = "OFF time", benchTestOffTime + field = "" + commandButton = "Abort test", cmd_test_cancel + field = "" + field = "Use these buttons to run the" + field = "fuel pump for testing injectors" + commandButton = "Fuel pump on", cmd_fuel_pump_on + commandButton = "Fuel pump off", cmd_fuel_pump_off + gauge = testBenchIterGauge + + dialog = injTest_r, "Reference gauges", yAxis + gauge = VBattGauge,North + gauge = lowFuelPressureGauge + + dialog = injTest, "", xAxis + panel = injTest_l + panel = injTest_c + panel = injTest_r + + ; Ignition coils test + dialog = ignTest_l, "" + commandButton = "Spark #1", cmd_test_spk1 + commandButton = "Spark #2", cmd_test_spk2, { cylindersCount >= 2 } + commandButton = "Spark #3", cmd_test_spk3, { cylindersCount >= 3 } + commandButton = "Spark #4", cmd_test_spk4, { cylindersCount >= 4 } + commandButton = "Spark #5", cmd_test_spk5, { cylindersCount >= 5 } + commandButton = "Spark #6", cmd_test_spk6, { cylindersCount >= 6 } + commandButton = "Spark #7", cmd_test_spk7, { cylindersCount >= 7 } + commandButton = "Spark #8", cmd_test_spk8, { cylindersCount >= 8 } + commandButton = "Spark #9", cmd_test_spk9, { cylindersCount >= 9 } + commandButton = "Spark #10", cmd_test_spk10, { cylindersCount >= 10 } + commandButton = "Spark #11", cmd_test_spk11, { cylindersCount >= 11 } + commandButton = "Spark #12", cmd_test_spk12, { cylindersCount >= 12 } + + dialog = ignTest_c, "" + field = "Iterations", ignTestCount + field = "ON time", ignTestOnTime + field = "OFF time", ignTestOffTime + commandButton = "Abort test", cmd_test_cancel + gauge = testIgnIterGauge + + dialog = ignTest, "", xAxis + panel = ignTest_l + panel = ignTest_c + + dialog = widebandConfig, "CAN Wideband Config" + field = "!Please connect exactly one wideband controller before pressing these buttons!" + commandButton = "Update Firmware", cmd_wideband_firmare_update + field = "!These buttons will set ALL connected controllers to the specified index." + field = "!Disconnect all controllers you don't want to set!" + commandButton = "Set Index 0", cmd_set_wideband_idx_0 + commandButton = "Set Index 1", cmd_set_wideband_idx_1 + field = "Wideband CAN bus", widebandOnSecondBus + field = "Force O2 sensor heating", forceO2Heating + + dialog = engineTypeDialog, "Popular vehicles" + field = "!These buttons send a command to FOME to apply preset values" + field = "!Once you send the command, please reconnect to FOME in order to read fresh values" + + + + + + + + + + + commandButton = "ETB test bench", cmd_set_engine_type_etb_test + commandButton = "TLE8888 test bench", cmd_set_engine_type_8888_test + commandButton = "Reset firmware settings", cmd_set_engine_type_default + +; Board->ECU stimulator + dialog = ecuStimulator, "ECU stimulator" + field = "Trigger Simulator", triggerSimulatorRpm + commandButton = "Enable internal trigger simulation", cmd_enable_self_stim + commandButton = "Enable external trigger simulation", cmd_enable_ext_stim + commandButton = "Disable trigger simulation", cmd_disable_self_stim + field = "" + field = "trigger stimulator output #1", triggerSimulatorPins1 + field = "trigger stimulator output #2", triggerSimulatorPins2 + field = "" + field = "Logic input channel 1", logicAnalyzerPins1 + field = "Logic input channel 2", logicAnalyzerPins2 + field = "Logic input channel 3", logicAnalyzerPins3 + field = "Logic input channel 4", logicAnalyzerPins4 + field = "" + field = "Engine chart size", engineChartSize + + ; Racing Features->Launch Control + dialog = smLaunchControlWest, "Launch Control Settings" + field = "Enable Launch Control", launchControlEnabled + field = "Activation Mode", launchActivationMode + + field = "Launch Button", launchActivatePin, { launchActivatePin != 0 || (launchActivationMode == 0 && launchControlEnabled == 1)} + field = "Launch Button inverted", launchActivateInverted + field = "Launch Button mode", launchActivatePinMode, {launchActivationMode == 0 && launchControlEnabled == 1} + + field = "Clutch Down", clutchDownPin, {launchActivationMode == 1 && launchControlEnabled == 1} + field = "Clutch Down inverted", clutchDownPinInverted + field = "Clutch Down mode", clutchDownPinMode, {launchActivationMode == 1 && launchControlEnabled == 1} + field = "" + +; dead code field = "Rpm Threshold", launchRpmThreshold, {launchControlEnabled == 1} + field = "Speed Threshold", launchSpeedThreshold, {launchControlEnabled == 1} + field = "" + field = "Launch RPM", launchRpm, {launchControlEnabled == 1} + field = "Ignition Retard Adder", launchTimingRpmRange, {launchControlEnabled == 1 && enableLaunchRetard == 1} + field = "Hard Cut RPM Adder", hardCutRpmRange, {launchControlEnabled == 1} + ;field = "Extra Fuel", launchFuelAdded, {launchControlEnabled == 1} + ;field = "Boost Solenoid Duty", launchBoostDuty, {launchControlEnabled == 1} + field = "TPS Threshold", launchTpsThreshold, {launchControlEnabled == 1} + field = "Ignition Retard enable", enableLaunchRetard, {launchControlEnabled == 1} + field = "Ignition Retard", launchTimingRetard, {launchControlEnabled == 1 && enableLaunchRetard == 1} + field = "Fuel Added %", launchFuelAdderPercent, {launchControlEnabled == 1} + field = "Smooth Retard Mode", launchSmoothRetard, {launchControlEnabled == 1 && enableLaunchRetard == 1} + field = "Hard Cut Mode" + field = "Ignition Cut", launchSparkCutEnable, {launchControlEnabled == 1} + field = "Fuel Cut", launchFuelCutEnable, {launchControlEnabled == 1} + + + dialog = smLaunchControl, "", border + panel = smLaunchControlWest, West + panel = launch_control_stateDialog, East + + dialog = antiLagDialog, "AntiLag Settings" + field = "Enable AntiLag", antiLagEnabled + field = "Activation Mode", antiLagActivationMode + field = "Switch Input", ALSActivatePin, {antiLagActivationMode == 0 && antiLagEnabled == 1} + field = "ALS Button inverted", ALSActivateInverted, {antiLagActivationMode == 0 && antiLagEnabled == 1} + field = "ALS Button mode", ALSActivatePinMode, {antiLagActivationMode == 0 && antiLagEnabled == 1} + field = "ALS timeout", ALSMaxDuration, {antiLagEnabled == 1} + field = "Max TPS", ALSMaxTPS, {antiLagEnabled == 1} + field = "Min RPM", ALSMinRPM, {antiLagEnabled == 1} + field = "Max RPM", ALSMaxRPM, {antiLagEnabled == 1} + field = "Min CLT", ALSMinCLT, {antiLagEnabled == 1} + field = "Max CLT", ALSMaxCLT, {antiLagEnabled == 1} + field = "Idle Air Add", ALSIdleAdd, {antiLagEnabled == 1} + field = "ETB Air Add", ALSEtbAdd, {antiLagEnabled == 1} + field = "Spark Skip Ratio", ALSSkipRatio, {antiLagEnabled == 1} + panel = FuelAdderTableALS + panel = IgnRetardTableALS + + + dialog = coastingFuelCutControl, "Coasting Fuel Cutoff Settings" + field = "Enable Coasting Fuel Cutoff", coastingFuelCutEnabled + field = "No cut below CLT", coastingFuelCutClt, {coastingFuelCutEnabled == 1} + field = "RPM cut fuel above", coastingFuelCutRpmHigh, {coastingFuelCutEnabled == 1} + field = "RPM restore fuel below", coastingFuelCutRpmLow, {coastingFuelCutEnabled == 1} + field = "Vehicle speed cut above", coastingFuelCutVssHigh, {coastingFuelCutEnabled == 1} + field = "Vehicle speed restore below", coastingFuelCutVssLow, {coastingFuelCutEnabled == 1} + field = "Cut fuel below TPS", coastingFuelCutTps, {coastingFuelCutEnabled == 1} + field = "Cut fuel below MAP", coastingFuelCutMap, {coastingFuelCutEnabled == 1} + field = "Fuel cut delay", dfcoDelay, {coastingFuelCutEnabled == 1} + field = "Inhibit closed loop fuel after cut", noFuelTrimAfterDfcoTime, {coastingFuelCutEnabled == 1} + + dialog = rotaryDialog, "Rotary" + field = "Enable Trailing Sparks", enableTrailingSparks + field = "Trailing Spark Offset", trailingSparkAngle + field = "Trailing Pin 1", trailingCoilPins1 + field = "Trailing Pin 2", trailingCoilPins2 + field = "Trailing Pin 3", trailingCoilPins3 + field = "Trailing Pin 4", trailingCoilPins4 + + dialog = fancyHardwareDialog, "Fancy Boards" + field = "Tachometer Output", boardUseTachPullUp + field = "boardUseTempPullUp", boardUseTempPullUp + field = "boardUseCrankPullUp", boardUseCrankPullUp + field = "2-step input", boardUse2stepPullDown + field = "boardUseCamPullDown", boardUseCamPullDown + field = "boardUseCamVrPullUp", boardUseCamVrPullUp + field = "boardUseD2PullDown", boardUseD2PullDown + field = "boardUseD3PullDown", boardUseD3PullDown + field = "boardUseD4PullDown", boardUseD4PullDown + field = "boardUseD5PullDown", boardUseD5PullDown + field = "SENT input 1", sentInputPins1 + field = "SENT sentEtbType", sentEtbType + + dialog = harleyAcr, "Harley Automatic Compression Release" + field = "Pin", acrPin + field = "Pin 2", acrPin2 + field = "#ACR is disabled after the specified number" + field = "#of revolutions, plus degrees of engine phase" + field = "Disable after revolutions", acrRevolutions + field = "Disable after engine phase", acrDisablePhase + + dialog = parkingLot, "Experimental/Broken" + field = "I understand ECU Locking", yesUnderstandLocking + field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } + field = "#System hacks" + field = "Global fuel correction", globalFuelCorrection + field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex + 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 = "ADC vRef voltage", adcVcc + field = "CLT sensor is pulldown instead of pullup", cltSensorPulldown + field = "IAT sensor is pulldown instead of pullup", iatSensorPulldown + field = "Analog divider ratio", analogInputDividerCoefficient + field = "BRZ/FRS/GT86 pedal", allowIdenticalPps + field = "Artificial Misfire", artificialTestMisfire + field = "Instant Rpm Range", instantRpmRange + field = "Always use instant RPM", alwaysInstantRpm + field = "Never use instant RPM TODO", neverInstantRpm + field = vinNumber, vinNumber + field = turbochargerFilter, turbochargerFilter + field = auxFrequencyFilter, auxFrequencyFilter + field = useBiQuadOnAuxSpeedSensors, useBiQuadOnAuxSpeedSensors + field = "TODO KS mode 4569", kickStartCranking + panel = allTriggerDebug + panel = harleyAcr + + help = helpGeneral, "FOME General Help" + webHelp = "https://wiki.fome.tech/" + text = "" + + dialog = vrThreshold1, "VR 1 Threshold" + field = "Pin", vrThreshold1_pin + panel = vrThresholdCurve1 + + dialog = vrThreshold2, "VR 2 Threshold" + field = "Pin", vrThreshold2_pin + panel = vrThresholdCurve2 + + dialog = vrThreshold + topicHelp = "vrThresholdHelp" + panel = vrThreshold1 + panel = vrThreshold2 + + dialog = gppwm1left, "" + field = "Output", gppwm1_pin + field = "" + field = "Set frequency to 0hz for on-off mode" + field = "Frequency", gppwm1_pwmFrequency, {gppwm1_pin != 0} + field = "" + field = "On above duty", gppwm1_onAboveDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0} + field = "Off below duty", gppwm1_offBelowDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0} + field = "Duty if error", gppwm1_dutyIfError, {gppwm1_pin != 0} + field = "" + field = "X Axis", gppwm1_rpmAxis, {gppwm1_pin != 0} + field = "Y Axis", gppwm1_loadAxis, {gppwm1_pin != 0} + field = "Note", gpPwmNote1 + field = "" + field = "" + field = "" + field = "" + field = "" + + dialog = gppwm1, "General Purpose PWM 1", xAxis + panel = gppwm1left + panel = gppwm1Tbl, {gppwm1_pin != 0} + + dialog = gppwm2left, "" + field = "Output", gppwm2_pin + field = "" + field = "Set frequency to 0hz for on-off mode" + field = "Frequency", gppwm2_pwmFrequency, {gppwm2_pin != 0} + field = "" + field = "On above duty", gppwm2_onAboveDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0} + field = "Off below duty", gppwm2_offBelowDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0} + field = "Duty if error", gppwm2_dutyIfError, {gppwm2_pin != 0} + field = "" + field = "X Axis", gppwm2_rpmAxis, {gppwm2_pin != 0} + field = "Y Axis", gppwm2_loadAxis, {gppwm2_pin != 0} + field = "Note", gpPwmNote2 + field = "" + field = "" + field = "" + field = "" + field = "" + + dialog = gppwm2, "General Purpose PWM 2", xAxis + panel = gppwm2left + panel = gppwm2Tbl, {gppwm2_pin != 0} + + dialog = gppwm3left, "" + field = "Output", gppwm3_pin + field = "" + field = "Set frequency to 0hz for on-off mode" + field = "Frequency", gppwm3_pwmFrequency, {gppwm3_pin != 0} + field = "" + field = "On above duty", gppwm3_onAboveDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0} + field = "Off below duty", gppwm3_offBelowDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0} + field = "Duty if error", gppwm3_dutyIfError, {gppwm3_pin != 0} + field = "" + field = "X Axis", gppwm3_rpmAxis, {gppwm3_pin != 0} + field = "Y Axis", gppwm3_loadAxis, {gppwm3_pin != 0} + field = "Note", gpPwmNote3 + field = "" + field = "" + field = "" + field = "" + field = "" + + dialog = gppwm3, "General Purpose PWM 3", xAxis + panel = gppwm3left + panel = gppwm3Tbl, {gppwm3_pin != 0} + + dialog = gppwm4left, "" + field = "Output", gppwm4_pin + field = "" + field = "Set frequency to 0hz for on-off mode" + field = "Frequency", gppwm4_pwmFrequency, {gppwm4_pin != 0} + field = "" + field = "On above duty", gppwm4_onAboveDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0} + field = "Off below duty", gppwm4_offBelowDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0} + field = "Duty if error", gppwm4_dutyIfError, {gppwm4_pin != 0} + field = "" + field = "X Axis", gppwm4_rpmAxis, {gppwm4_pin != 0} + field = "Y Axis", gppwm4_loadAxis, {gppwm4_pin != 0} + field = "Note", gpPwmNote4 + field = "" + field = "" + field = "" + field = "" + field = "" + + dialog = gppwm4, "General Purpose PWM 4", xAxis + panel = gppwm4left + panel = gppwm4Tbl, {gppwm4_pin != 0} + + dialog = hpfpCamDialog, "HPFP Cam Configuration" + field = "Number of lobes", hpfpCamLobes + field = "If using VVT, which cam the pump is driven from", hpfpCam, {hpfpCamLobes != 0} + field = "Angle of first lobe", hpfpPeakPos, {hpfpCamLobes != 0} + panel = hpfpLobeProfileCurve, {hpfpCamLobes != 0} + + dialog = hpfpPumpDialog, "HPFP Pump Configuration" + field = "Valve Pin", hpfpValvePin, {hpfpCamLobes != 0} + field = "Valve Pin Mode", hpfpValvePinMode, {hpfpCamLobes != 0} + field = "Valve peak current", mc33_hpfp_i_peak, {hpfpCamLobes != 0} + field = "Valve hold current", mc33_hpfp_i_hold, {hpfpCamLobes != 0} + field = "Valve hold off time", mc33_hpfp_i_hold_off, {hpfpCamLobes != 0} + field = "Valve maximum duration", mc33_hpfp_max_hold, {hpfpCamLobes != 0} + field = "Pump volume", hpfpPumpVolume, {hpfpCamLobes != 0} + field = "Minimum angle", hpfpMinAngle, {hpfpCamLobes != 0} + field = "Activation angle", hpfpActivationAngle, {hpfpCamLobes != 0} + field = "Target decay rate", hpfpTargetDecay, {hpfpCamLobes != 0} + field = "Proportional gain", hpfpPidP, {hpfpCamLobes != 0} + field = "Integral gain", hpfpPidI, {hpfpCamLobes != 0} + panel = hpfpDeadtimeCurve, {hpfpCamLobes != 0} + +[Tools] + ;addTool = toolName, PanelName + addTool = veTableGenerator, "VE Table Generator", veTableTbl +#if LAMBDA +#else + addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl +#endif diff --git a/firmware/tunerstudio/generated/fome_core8.ini b/firmware/tunerstudio/generated/fome_core8.ini index f9d7fd1d7d..4f1d8b5cd1 100644 --- a/firmware/tunerstudio/generated/fome_core8.ini +++ b/firmware/tunerstudio/generated/fome_core8.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.core8.3256949969" + signature = "rusEFI (FOME) master.2023.11.04.core8.2613057245" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.core8.3256949969" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.core8.2613057245" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",81="High Side 1 (E15)",76="High Side 10 (E10)",75="High Side 11 (E9)",74="High Side 12 (E8)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",97="High Side 6 (F15)",98="High Side 7 (G0)",99="High Side 8 (G1)",73="High Side 9 (E7)",32="Low Side 1 (B14 v2.1 ONLY)",95="Low Side 1 (F13)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",106="Low Side 17 (G8)",40="Low Side 18 (C6)",41="Low Side 19 (C7)",33="Low Side 2 (B15 v2.1 ONLY)",96="Low Side 2 (F14)",10="Low Side 20 (A8)",55="Low Side 21 (D5)",54="Low Side 22 (D4)",53="Low Side 23 (D3)",17="Low Side 24 (A15)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",90="StepEr Control (F8)",89="StepEr Direction (F7)",91="StepEr Disable (F9)" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",2="Analog Inputs 1 (A1)",11="Analog Inputs 10 (C0)",14="Analog Inputs 13 (C3)",15="Analog Inputs 14 (C4)",16="Analog Inputs 15 (C5)",3="Analog Inputs 2 (A2)",4="Analog Inputs 3 (A3)",5="Analog Inputs 4 (A4)",7="Analog Inputs 6 (A6)",8="Analog Inputs 7 (A7)",10="Analog Inputs 9 (B1)",9="On-board BARO (B0)",1="On-board Battery Sense (A0)",6="On-board MAP (A5)",12="Primary On-board O2 (C1)",13="Secondary On-board O2 (C2)" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",2="Analog Inputs 1 (A1)",11="Analog Inputs 10 (C0)",14="Analog Inputs 13 (C3)",15="Analog Inputs 14 (C4)",16="Analog Inputs 15 (C5)",3="Analog Inputs 2 (A2)",4="Analog Inputs 3 (A3)",5="Analog Inputs 4 (A4)",7="Analog Inputs 6 (A6)",8="Analog Inputs 7 (A7)",10="Analog Inputs 9 (B1)",9="On-board BARO (B0)",1="On-board Battery Sense (A0)",6="On-board MAP (A5)",12="Primary On-board O2 (C1)",13="Secondary On-board O2 (C2)" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",2="Analog Inputs 1 (A1)",11="Analog Inputs 10 (C0)",14="Analog Inputs 13 (C3)",15="Analog Inputs 14 (C4)",16="Analog Inputs 15 (C5)",3="Analog Inputs 2 (A2)",4="Analog Inputs 3 (A3)",5="Analog Inputs 4 (A4)",7="Analog Inputs 6 (A6)",8="Analog Inputs 7 (A7)",10="Analog Inputs 9 (B1)",9="On-board BARO (B0)",1="On-board Battery Sense (A0)",6="On-board MAP (A5)",12="Primary On-board O2 (C1)",13="Secondary On-board O2 (C2)" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",2="Analog Inputs 1 (A1)",11="Analog Inputs 10 (C0)",14="Analog Inputs 13 (C3)",15="Analog Inputs 14 (C4)",16="Analog Inputs 15 (C5)",3="Analog Inputs 2 (A2)",4="Analog Inputs 3 (A3)",5="Analog Inputs 4 (A4)",7="Analog Inputs 6 (A6)",8="Analog Inputs 7 (A7)",10="Analog Inputs 9 (B1)",9="On-board BARO (B0)",1="On-board Battery Sense (A0)",6="On-board MAP (A5)",12="Primary On-board O2 (C1)",13="Secondary On-board O2 (C2)" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",2="Analog Inputs 1 (A1)",11="Analog Inputs 10 (C0)",14="Analog Inputs 13 (C3)",15="Analog Inputs 14 (C4)",16="Analog Inputs 15 (C5)",3="Analog Inputs 2 (A2)",4="Analog Inputs 3 (A3)",5="Analog Inputs 4 (A4)",7="Analog Inputs 6 (A6)",8="Analog Inputs 7 (A7)",10="Analog Inputs 9 (B1)",9="On-board BARO (B0)",1="On-board Battery Sense (A0)",6="On-board MAP (A5)",12="Primary On-board O2 (C1)",13="Secondary On-board O2 (C2)" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",2="Analog Inputs 1 (A1)",11="Analog Inputs 10 (C0)",14="Analog Inputs 13 (C3)",15="Analog Inputs 14 (C4)",16="Analog Inputs 15 (C5)",3="Analog Inputs 2 (A2)",4="Analog Inputs 3 (A3)",5="Analog Inputs 4 (A4)",7="Analog Inputs 6 (A6)",8="Analog Inputs 7 (A7)",10="Analog Inputs 9 (B1)",9="On-board BARO (B0)",1="On-board Battery Sense (A0)",6="On-board MAP (A5)",12="Primary On-board O2 (C1)",13="Secondary On-board O2 (C2)" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",2="Analog Inputs 1 (A1)",11="Analog Inputs 10 (C0)",14="Analog Inputs 13 (C3)",15="Analog Inputs 14 (C4)",16="Analog Inputs 15 (C5)",3="Analog Inputs 2 (A2)",4="Analog Inputs 3 (A3)",5="Analog Inputs 4 (A4)",7="Analog Inputs 6 (A6)",8="Analog Inputs 7 (A7)",10="Analog Inputs 9 (B1)",9="On-board BARO (B0)",1="On-board Battery Sense (A0)",6="On-board MAP (A5)",12="Primary On-board O2 (C1)",13="Secondary On-board O2 (C2)" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",26="DBW Control (B8)",27="DBW Direction (B9)",25="DBW Disable (B7)",81="High Side 1 (E15)",76="High Side 10 (E10)",75="High Side 11 (E9)",74="High Side 12 (E8)",80="High Side 2 (E14)",79="High Side 3 (E13)",78="High Side 4 (E12)",77="High Side 5 (E11)",97="High Side 6 (F15)",98="High Side 7 (G0)",99="High Side 8 (G1)",73="High Side 9 (E7)",32="Low Side 1 (B14 v2.1 ONLY)",95="Low Side 1 (F13)",65="Low Side 10 (D15)",100="Low Side 11 (G2)",101="Low Side 12 (G3)",102="Low Side 13 (G4)",103="Low Side 14 (G5)",104="Low Side 15 (G6)",105="Low Side 16 (G7)",106="Low Side 17 (G8)",40="Low Side 18 (C6)",41="Low Side 19 (C7)",33="Low Side 2 (B15 v2.1 ONLY)",96="Low Side 2 (F14)",10="Low Side 20 (A8)",55="Low Side 21 (D5)",54="Low Side 22 (D4)",53="Low Side 23 (D3)",17="Low Side 24 (A15)",58="Low Side 3 (D8)",59="Low Side 4 (D9)",60="Low Side 5 (D10)",61="Low Side 6 (D11)",62="Low Side 7 (D12)",63="Low Side 8 (D13)",64="Low Side 9 (D14)",90="StepEr Control (F8)",89="StepEr Direction (F7)",91="StepEr Disable (F9)" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = egtInputs, "EGT" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5298,6 +5353,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5393,11 +5453,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5426,6 +5488,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5445,9 +5508,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5699,7 +5779,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5868,6 +5947,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6178,7 +6258,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6188,7 +6269,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6198,7 +6280,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6208,7 +6291,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6258,14 +6342,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6275,14 +6355,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6292,6 +6368,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6400,6 +6532,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6584,11 +6718,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6596,8 +6728,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6618,10 +6748,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6629,8 +6758,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6651,7 +6778,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6910,7 +7036,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7020,10 +7145,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7152,6 +7282,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7162,6 +7302,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7224,7 +7365,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7331,6 +7473,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7339,6 +7486,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7959,12 +8107,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_f407-discovery.ini b/firmware/tunerstudio/generated/fome_f407-discovery.ini index 0286aebbc9..7a66aeb25f 100644 --- a/firmware/tunerstudio/generated/fome_f407-discovery.ini +++ b/firmware/tunerstudio/generated/fome_f407-discovery.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.f407-discovery.2787437970" + signature = "rusEFI (FOME) master.2023.11.04.f407-discovery.4291159966" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.f407-discovery.2787437970" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.f407-discovery.4291159966" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +throttleInletPressureChannel = bits, U08, 3736, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = egtInputs, "EGT" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5298,6 +5353,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5393,11 +5453,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5426,6 +5488,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5445,9 +5508,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5699,7 +5779,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5868,6 +5947,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6178,7 +6258,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6188,7 +6269,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6198,7 +6280,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6208,7 +6291,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6258,14 +6342,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6275,14 +6355,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6292,6 +6368,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6400,6 +6532,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6584,11 +6718,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6596,8 +6728,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6618,10 +6748,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6629,8 +6758,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6651,7 +6778,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6910,7 +7036,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7020,10 +7145,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7152,6 +7282,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7162,6 +7302,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7224,7 +7365,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7331,6 +7473,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7339,6 +7486,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7961,12 +8109,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_f429-discovery.ini b/firmware/tunerstudio/generated/fome_f429-discovery.ini index 36e7b13e56..7fbd4c9a5b 100644 --- a/firmware/tunerstudio/generated/fome_f429-discovery.ini +++ b/firmware/tunerstudio/generated/fome_f429-discovery.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.f429-discovery.4194701671" + signature = "rusEFI (FOME) master.2023.11.04.f429-discovery.2749832043" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.f429-discovery.4194701671" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.f429-discovery.2749832043" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +throttleInletPressureChannel = bits, U08, 3736, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = egtInputs, "EGT" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5296,6 +5351,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5391,11 +5451,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5424,6 +5486,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5443,9 +5506,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5697,7 +5777,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5866,6 +5945,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6176,7 +6256,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6186,7 +6267,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6196,7 +6278,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6206,7 +6289,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6256,14 +6340,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6273,14 +6353,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6290,6 +6366,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6398,6 +6530,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6582,11 +6716,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6594,8 +6726,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6616,10 +6746,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6627,8 +6756,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6649,7 +6776,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6908,7 +7034,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7018,10 +7143,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7150,6 +7280,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7160,6 +7300,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7222,7 +7363,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7329,6 +7471,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7337,6 +7484,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7959,12 +8107,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_frankenso_na6.ini b/firmware/tunerstudio/generated/fome_frankenso_na6.ini index 8a604e0183..73cdebcdad 100644 --- a/firmware/tunerstudio/generated/fome_frankenso_na6.ini +++ b/firmware/tunerstudio/generated/fome_frankenso_na6.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.frankenso_na6.3629445549" + signature = "rusEFI (FOME) master.2023.11.04.frankenso_na6.2176187297" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.frankenso_na6.3629445549" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.frankenso_na6.2176187297" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",43="Coil 1F",80="Coil 1G",41="Coil 1H",76="Coil 1I",74="Coil 1L",78="Coil 1M",58="Coil 1O",59="Coil 1P",47="Injector 2M",57="Injector 2N",71="Injector 2O",72="Injector 2P",69="Injector 3S",70="Injector 3T",53="Injector 3U",68="Injector 3V",27="Injector 3W",55="Injector 3X",26="Injector 3Y",25="Injector 3Z" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",16="Analog 3E",8="Analog 3G",7="Analog 3H",5="Analog 3I",4="Analog 3J",2="Analog 3L",3="Analog 3M",14="Analog 3N",1="Analog 3O",12="Analog 3P",13="Analog 3Q",15="Analog VBatt" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",16="Analog 3E",8="Analog 3G",7="Analog 3H",5="Analog 3I",4="Analog 3J",2="Analog 3L",3="Analog 3M",14="Analog 3N",1="Analog 3O",12="Analog 3P",13="Analog 3Q",15="Analog VBatt" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",16="Analog 3E",8="Analog 3G",7="Analog 3H",5="Analog 3I",4="Analog 3J",2="Analog 3L",3="Analog 3M",14="Analog 3N",1="Analog 3O",12="Analog 3P",13="Analog 3Q",15="Analog VBatt" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",16="Analog 3E",8="Analog 3G",7="Analog 3H",5="Analog 3I",4="Analog 3J",2="Analog 3L",3="Analog 3M",14="Analog 3N",1="Analog 3O",12="Analog 3P",13="Analog 3Q",15="Analog VBatt" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",16="Analog 3E",8="Analog 3G",7="Analog 3H",5="Analog 3I",4="Analog 3J",2="Analog 3L",3="Analog 3M",14="Analog 3N",1="Analog 3O",12="Analog 3P",13="Analog 3Q",15="Analog VBatt" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",16="Analog 3E",8="Analog 3G",7="Analog 3H",5="Analog 3I",4="Analog 3J",2="Analog 3L",3="Analog 3M",14="Analog 3N",1="Analog 3O",12="Analog 3P",13="Analog 3Q",15="Analog VBatt" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",16="Analog 3E",8="Analog 3G",7="Analog 3H",5="Analog 3I",4="Analog 3J",2="Analog 3L",3="Analog 3M",14="Analog 3N",1="Analog 3O",12="Analog 3P",13="Analog 3Q",15="Analog VBatt" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",43="Coil 1F",80="Coil 1G",41="Coil 1H",76="Coil 1I",74="Coil 1L",78="Coil 1M",58="Coil 1O",59="Coil 1P",47="Injector 2M",57="Injector 2N",71="Injector 2O",72="Injector 2P",69="Injector 3S",70="Injector 3T",53="Injector 3U",68="Injector 3V",27="Injector 3W",55="Injector 3X",26="Injector 3Y",25="Injector 3Z" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = egtInputs, "EGT" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5296,6 +5351,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5391,11 +5451,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5424,6 +5486,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5443,9 +5506,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5697,7 +5777,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5866,6 +5945,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6176,7 +6256,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6186,7 +6267,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6196,7 +6278,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6206,7 +6289,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6256,14 +6340,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6273,14 +6353,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6290,6 +6366,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6398,6 +6530,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6582,11 +6716,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6594,8 +6726,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6616,10 +6746,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6627,8 +6756,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6649,7 +6776,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6908,7 +7034,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7018,10 +7143,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7150,6 +7280,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7160,6 +7300,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7222,7 +7363,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7329,6 +7471,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7337,6 +7484,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7959,12 +8107,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_harley81.ini b/firmware/tunerstudio/generated/fome_harley81.ini index c088c210d7..7bb7fdf82b 100644 --- a/firmware/tunerstudio/generated/fome_harley81.ini +++ b/firmware/tunerstudio/generated/fome_harley81.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.harley81.1939024157" + signature = "rusEFI (FOME) master.2023.11.04.harley81.712123153" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.harley81.1939024157" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.harley81.712123153" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",65="1 Right Oil Cooling",47="24 Front Coil",52="25 Front ACR",64="4 Left Oil Fan",71="43 Rear Coil",105="6 Front Injector",112="61 Reverse Gear",103="63 Cooling Pump",106="7 Rear Injector",109="8 Rear ACR",101="auxMain",41="auxWastegate" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",2="27 - TPS 2",15="32 Oil Pressure",16="34 Kickstand Position Sensor",4="41 - PPS 1",9="42 - PPS 2",13="49 CLT",6="5 Battery Sense",5="52 - TPS 1",11="53 - MAP",12="55 Engine Temperature",14="72 IAT" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",2="27 - TPS 2",15="32 Oil Pressure",16="34 Kickstand Position Sensor",4="41 - PPS 1",9="42 - PPS 2",13="49 CLT",6="5 Battery Sense",5="52 - TPS 1",11="53 - MAP",12="55 Engine Temperature",14="72 IAT" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",2="27 - TPS 2",15="32 Oil Pressure",16="34 Kickstand Position Sensor",4="41 - PPS 1",9="42 - PPS 2",13="49 CLT",6="5 Battery Sense",5="52 - TPS 1",11="53 - MAP",12="55 Engine Temperature",14="72 IAT" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",2="27 - TPS 2",15="32 Oil Pressure",16="34 Kickstand Position Sensor",4="41 - PPS 1",9="42 - PPS 2",13="49 CLT",6="5 Battery Sense",5="52 - TPS 1",11="53 - MAP",12="55 Engine Temperature",14="72 IAT" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",2="27 - TPS 2",15="32 Oil Pressure",16="34 Kickstand Position Sensor",4="41 - PPS 1",9="42 - PPS 2",13="49 CLT",6="5 Battery Sense",5="52 - TPS 1",11="53 - MAP",12="55 Engine Temperature",14="72 IAT" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",2="27 - TPS 2",15="32 Oil Pressure",16="34 Kickstand Position Sensor",4="41 - PPS 1",9="42 - PPS 2",13="49 CLT",6="5 Battery Sense",5="52 - TPS 1",11="53 - MAP",12="55 Engine Temperature",14="72 IAT" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",2="27 - TPS 2",15="32 Oil Pressure",16="34 Kickstand Position Sensor",4="41 - PPS 1",9="42 - PPS 2",13="49 CLT",6="5 Battery Sense",5="52 - TPS 1",11="53 - MAP",12="55 Engine Temperature",14="72 IAT" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",65="1 Right Oil Cooling",47="24 Front Coil",52="25 Front ACR",64="4 Left Oil Fan",71="43 Rear Coil",105="6 Front Injector",112="61 Reverse Gear",103="63 Cooling Pump",106="7 Rear Injector",109="8 Rear ACR",101="auxMain",41="auxWastegate" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5297,6 +5352,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5392,11 +5452,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5425,6 +5487,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5444,9 +5507,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5698,7 +5778,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5867,6 +5946,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6174,7 +6254,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6184,7 +6265,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6194,7 +6276,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6204,7 +6287,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6254,14 +6338,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6271,14 +6351,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6288,6 +6364,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6396,6 +6528,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6570,11 +6704,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6582,8 +6714,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6604,10 +6734,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6615,8 +6744,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6637,7 +6764,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6896,7 +7022,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7006,10 +7131,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7138,6 +7268,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7148,6 +7288,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7210,7 +7351,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7312,6 +7454,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7320,6 +7467,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7934,12 +8082,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_hellen-gm-e67.ini b/firmware/tunerstudio/generated/fome_hellen-gm-e67.ini index 78e0a915e0..06e97561f9 100644 --- a/firmware/tunerstudio/generated/fome_hellen-gm-e67.ini +++ b/firmware/tunerstudio/generated/fome_hellen-gm-e67.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.hellen-gm-e67.2473541556" + signature = "rusEFI (FOME) master.2023.11.04.hellen-gm-e67.3398317496" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.hellen-gm-e67.2473541556" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.hellen-gm-e67.3398317496" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",100="C1-12 Check Engine",52="C1-13 - Fuel Pump",65="C1-25 Tach",109="C1-26 - Starter Relay",64="C1-39 - VSS Output",112="C1-40 - MAIN",102="C1-56 - Starter Enable",47="C2-1 - IGN 1",61="C2-16 INJ 3",72="C2-17 - IGN 8",69="C2-18 - IGN 4",106="C2-32 INJ 2",27="C2-33 - IGN 7",68="C2-34 - IGN 5",96="C2-48 INJ 8",59="C2-49 INJ 5",94="C2-52 INJ 6",71="C2-53 - IGN 2",26="C2-54 - IGN 6",70="C2-55 - IGN 3",60="C2-70 INJ 4",95="C2-71 INJ 7",105="C2-72 INJ 1",111="C3-16 - Coolant Pump",10="C3-49 - Fan Relay",63="C3-7 - Alternator Enable",43="J4_4 Wastegate Solenoid",53="J4_5 Error Light",46="J7_1 AUX",45="J7_2 AUX",44="J7_3 AUX",17="J7_4 AUX",55="J7_5 AUX",56="J7_6 AUX",66="J7_7 AUX",67="J7_8 AUX" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",6="C1-19 Battery Sense",10="C1-44 Primary Fuel Level",7="C1-45 Secondary Fuel Level",16="C1-46 Vac Sense",4="C1-47 - PPS1",15="C1-49 - PPS2",2="C2-60 - Oil Pressure",5="C2-64 - TPS1",11="C2-65 - Trans Fluids",9="C2-66 - TPS2",13="C3-55 - CLT",14="C3-56 - IAT",8="C3-57 - A/C Pressure",3="C3-58 - Baro",12="C3-59 - MAP" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",6="C1-19 Battery Sense",10="C1-44 Primary Fuel Level",7="C1-45 Secondary Fuel Level",16="C1-46 Vac Sense",4="C1-47 - PPS1",15="C1-49 - PPS2",2="C2-60 - Oil Pressure",5="C2-64 - TPS1",11="C2-65 - Trans Fluids",9="C2-66 - TPS2",13="C3-55 - CLT",14="C3-56 - IAT",8="C3-57 - A/C Pressure",3="C3-58 - Baro",12="C3-59 - MAP" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",6="C1-19 Battery Sense",10="C1-44 Primary Fuel Level",7="C1-45 Secondary Fuel Level",16="C1-46 Vac Sense",4="C1-47 - PPS1",15="C1-49 - PPS2",2="C2-60 - Oil Pressure",5="C2-64 - TPS1",11="C2-65 - Trans Fluids",9="C2-66 - TPS2",13="C3-55 - CLT",14="C3-56 - IAT",8="C3-57 - A/C Pressure",3="C3-58 - Baro",12="C3-59 - MAP" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",6="C1-19 Battery Sense",10="C1-44 Primary Fuel Level",7="C1-45 Secondary Fuel Level",16="C1-46 Vac Sense",4="C1-47 - PPS1",15="C1-49 - PPS2",2="C2-60 - Oil Pressure",5="C2-64 - TPS1",11="C2-65 - Trans Fluids",9="C2-66 - TPS2",13="C3-55 - CLT",14="C3-56 - IAT",8="C3-57 - A/C Pressure",3="C3-58 - Baro",12="C3-59 - MAP" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",6="C1-19 Battery Sense",10="C1-44 Primary Fuel Level",7="C1-45 Secondary Fuel Level",16="C1-46 Vac Sense",4="C1-47 - PPS1",15="C1-49 - PPS2",2="C2-60 - Oil Pressure",5="C2-64 - TPS1",11="C2-65 - Trans Fluids",9="C2-66 - TPS2",13="C3-55 - CLT",14="C3-56 - IAT",8="C3-57 - A/C Pressure",3="C3-58 - Baro",12="C3-59 - MAP" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",6="C1-19 Battery Sense",10="C1-44 Primary Fuel Level",7="C1-45 Secondary Fuel Level",16="C1-46 Vac Sense",4="C1-47 - PPS1",15="C1-49 - PPS2",2="C2-60 - Oil Pressure",5="C2-64 - TPS1",11="C2-65 - Trans Fluids",9="C2-66 - TPS2",13="C3-55 - CLT",14="C3-56 - IAT",8="C3-57 - A/C Pressure",3="C3-58 - Baro",12="C3-59 - MAP" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",6="C1-19 Battery Sense",10="C1-44 Primary Fuel Level",7="C1-45 Secondary Fuel Level",16="C1-46 Vac Sense",4="C1-47 - PPS1",15="C1-49 - PPS2",2="C2-60 - Oil Pressure",5="C2-64 - TPS1",11="C2-65 - Trans Fluids",9="C2-66 - TPS2",13="C3-55 - CLT",14="C3-56 - IAT",8="C3-57 - A/C Pressure",3="C3-58 - Baro",12="C3-59 - MAP" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",100="C1-12 Check Engine",52="C1-13 - Fuel Pump",65="C1-25 Tach",109="C1-26 - Starter Relay",64="C1-39 - VSS Output",112="C1-40 - MAIN",102="C1-56 - Starter Enable",47="C2-1 - IGN 1",61="C2-16 INJ 3",72="C2-17 - IGN 8",69="C2-18 - IGN 4",106="C2-32 INJ 2",27="C2-33 - IGN 7",68="C2-34 - IGN 5",96="C2-48 INJ 8",59="C2-49 INJ 5",94="C2-52 INJ 6",71="C2-53 - IGN 2",26="C2-54 - IGN 6",70="C2-55 - IGN 3",60="C2-70 INJ 4",95="C2-71 INJ 7",105="C2-72 INJ 1",111="C3-16 - Coolant Pump",10="C3-49 - Fan Relay",63="C3-7 - Alternator Enable",43="J4_4 Wastegate Solenoid",53="J4_5 Error Light",46="J7_1 AUX",45="J7_2 AUX",44="J7_3 AUX",17="J7_4 AUX",55="J7_5 AUX",56="J7_6 AUX",66="J7_7 AUX",67="J7_8 AUX" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5297,6 +5352,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5392,11 +5452,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5425,6 +5487,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5444,9 +5507,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5698,7 +5778,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5867,6 +5946,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6177,7 +6257,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6187,7 +6268,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6197,7 +6279,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6207,7 +6290,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6257,14 +6341,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6274,14 +6354,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6291,6 +6367,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6399,6 +6531,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6573,11 +6707,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6585,8 +6717,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6607,10 +6737,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6618,8 +6747,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6640,7 +6767,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6899,7 +7025,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7009,10 +7134,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7141,6 +7271,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7151,6 +7291,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7213,7 +7354,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7313,6 +7455,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7321,6 +7468,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7934,12 +8082,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_hellen-honda-k.ini b/firmware/tunerstudio/generated/fome_hellen-honda-k.ini index 2fe898d5be..b8b5f6afbe 100644 --- a/firmware/tunerstudio/generated/fome_hellen-honda-k.ini +++ b/firmware/tunerstudio/generated/fome_hellen-honda-k.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.hellen-honda-k.150925813" + signature = "rusEFI (FOME) master.2023.11.04.hellen-honda-k.1361050617" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.hellen-honda-k.150925813" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.hellen-honda-k.1361050617" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",94="A12 Idle Air Control",69="A27 - IGN4",70="A28 - IGN3",71="A29 - IGN2",47="A30 - IGN1",60="B2 - Injector 4",61="B3 - Injector 3",106="B4 - Injector 2",105="B5 - Injector 1",10="B6 Radiator Relay",104="E1 Fuel Relay",59="E18 - AC Relay",130="E26 Tachometer",101="E31 Check Engine",112="E7 Main Relay Control" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",5="--- - TPS",11="A19 - MAP",14="B17 - IAT",13="B8 - CLT",6="E9 Ignition Key Voltage" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",5="--- - TPS",11="A19 - MAP",14="B17 - IAT",13="B8 - CLT",6="E9 Ignition Key Voltage" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",5="--- - TPS",11="A19 - MAP",14="B17 - IAT",13="B8 - CLT",6="E9 Ignition Key Voltage" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",5="--- - TPS",11="A19 - MAP",14="B17 - IAT",13="B8 - CLT",6="E9 Ignition Key Voltage" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",5="--- - TPS",11="A19 - MAP",14="B17 - IAT",13="B8 - CLT",6="E9 Ignition Key Voltage" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",5="--- - TPS",11="A19 - MAP",14="B17 - IAT",13="B8 - CLT",6="E9 Ignition Key Voltage" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",5="--- - TPS",11="A19 - MAP",14="B17 - IAT",13="B8 - CLT",6="E9 Ignition Key Voltage" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",94="A12 Idle Air Control",69="A27 - IGN4",70="A28 - IGN3",71="A29 - IGN2",47="A30 - IGN1",60="B2 - Injector 4",61="B3 - Injector 3",106="B4 - Injector 2",105="B5 - Injector 1",10="B6 Radiator Relay",104="E1 Fuel Relay",59="E18 - AC Relay",130="E26 Tachometer",101="E31 Check Engine",112="E7 Main Relay Control" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5297,6 +5352,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5392,11 +5452,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5425,6 +5487,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5444,9 +5507,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5698,7 +5778,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5867,6 +5946,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6174,7 +6254,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6184,7 +6265,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6194,7 +6276,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6204,7 +6287,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6254,14 +6338,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6271,14 +6351,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6288,6 +6364,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6396,6 +6528,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6570,11 +6704,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6582,8 +6714,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6604,10 +6734,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6615,8 +6744,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6637,7 +6764,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6896,7 +7022,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7006,10 +7131,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7138,6 +7268,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7148,6 +7288,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7210,7 +7351,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7309,6 +7451,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7317,6 +7464,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7930,12 +8078,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_hellen-nb1.ini b/firmware/tunerstudio/generated/fome_hellen-nb1.ini index a8a3e050b4..26abd5f4f4 100644 --- a/firmware/tunerstudio/generated/fome_hellen-nb1.ini +++ b/firmware/tunerstudio/generated/fome_hellen-nb1.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.hellen-nb1.220266715" + signature = "rusEFI (FOME) master.2023.11.04.hellen-nb1.1421871831" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.hellen-nb1.220266715" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.hellen-nb1.1421871831" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",102="1E - Check Engine Light",11="1I AC Fan Relay",65="1O - ALTERN",110="1Q - Aternator Warning Lamp",62="1R - ECF",109="1S - AC Relay",53="1U - O2H",63="2K - TACH",100="2M US / 2P EUROPE - FPUMP",64="2Q - IDLE",35="3D - MAP",47="3G - IGN_1 (1&4)",71="3H - IGN_2 (2&3)",96="3Q - VICS",94="3T/4D - BOOST OUT",111="3V - O2H2",105="3W - INJ_1",106="3X - INJ_2",61="3Y - INJ_3",60="3Z - INJ_4",59="4E - VVT",41="ETB +",42="ETB -",40="ETB EN" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",6="1B - Battery Sense",4="1G - Steering/RES2",16="1P - AC Switch",9="2A - Pressure Input",14="2B - IAT",1="2C - O2S",13="2E - Coolant",7="2H - CAM",10="2J - CRANK",11="2L - MAF",12="3D - MAP",5="3E - TPS",8="3S - EGR BOOST IN",15="4C - IN TEMP/PPS2",2="TPS1",3="intMAP" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",6="1B - Battery Sense",4="1G - Steering/RES2",16="1P - AC Switch",9="2A - Pressure Input",14="2B - IAT",1="2C - O2S",13="2E - Coolant",7="2H - CAM",10="2J - CRANK",11="2L - MAF",12="3D - MAP",5="3E - TPS",8="3S - EGR BOOST IN",15="4C - IN TEMP/PPS2",2="TPS1",3="intMAP" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",6="1B - Battery Sense",4="1G - Steering/RES2",16="1P - AC Switch",9="2A - Pressure Input",14="2B - IAT",1="2C - O2S",13="2E - Coolant",7="2H - CAM",10="2J - CRANK",11="2L - MAF",12="3D - MAP",5="3E - TPS",8="3S - EGR BOOST IN",15="4C - IN TEMP/PPS2",2="TPS1",3="intMAP" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",6="1B - Battery Sense",4="1G - Steering/RES2",16="1P - AC Switch",9="2A - Pressure Input",14="2B - IAT",1="2C - O2S",13="2E - Coolant",7="2H - CAM",10="2J - CRANK",11="2L - MAF",12="3D - MAP",5="3E - TPS",8="3S - EGR BOOST IN",15="4C - IN TEMP/PPS2",2="TPS1",3="intMAP" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",6="1B - Battery Sense",4="1G - Steering/RES2",16="1P - AC Switch",9="2A - Pressure Input",14="2B - IAT",1="2C - O2S",13="2E - Coolant",7="2H - CAM",10="2J - CRANK",11="2L - MAF",12="3D - MAP",5="3E - TPS",8="3S - EGR BOOST IN",15="4C - IN TEMP/PPS2",2="TPS1",3="intMAP" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",6="1B - Battery Sense",4="1G - Steering/RES2",16="1P - AC Switch",9="2A - Pressure Input",14="2B - IAT",1="2C - O2S",13="2E - Coolant",7="2H - CAM",10="2J - CRANK",11="2L - MAF",12="3D - MAP",5="3E - TPS",8="3S - EGR BOOST IN",15="4C - IN TEMP/PPS2",2="TPS1",3="intMAP" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",6="1B - Battery Sense",4="1G - Steering/RES2",16="1P - AC Switch",9="2A - Pressure Input",14="2B - IAT",1="2C - O2S",13="2E - Coolant",7="2H - CAM",10="2J - CRANK",11="2L - MAF",12="3D - MAP",5="3E - TPS",8="3S - EGR BOOST IN",15="4C - IN TEMP/PPS2",2="TPS1",3="intMAP" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",102="1E - Check Engine Light",11="1I AC Fan Relay",65="1O - ALTERN",110="1Q - Aternator Warning Lamp",62="1R - ECF",109="1S - AC Relay",53="1U - O2H",63="2K - TACH",100="2M US / 2P EUROPE - FPUMP",64="2Q - IDLE",35="3D - MAP",47="3G - IGN_1 (1&4)",71="3H - IGN_2 (2&3)",96="3Q - VICS",94="3T/4D - BOOST OUT",111="3V - O2H2",105="3W - INJ_1",106="3X - INJ_2",61="3Y - INJ_3",60="3Z - INJ_4",59="4E - VVT",41="ETB +",42="ETB -",40="ETB EN" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5297,6 +5352,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5392,11 +5452,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5425,6 +5487,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5444,9 +5507,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5698,7 +5778,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5867,6 +5946,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6177,7 +6257,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6187,7 +6268,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6197,7 +6279,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6207,7 +6290,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6257,14 +6341,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6274,14 +6354,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6291,6 +6367,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6399,6 +6531,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6573,11 +6707,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6585,8 +6717,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6607,10 +6737,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6618,8 +6747,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6640,7 +6767,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6899,7 +7025,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7009,10 +7134,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7141,6 +7271,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7151,6 +7291,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7213,7 +7354,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7313,6 +7455,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7321,6 +7468,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7935,12 +8083,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_hellen121nissan.ini b/firmware/tunerstudio/generated/fome_hellen121nissan.ini index 4f840cfc6a..15ced33048 100644 --- a/firmware/tunerstudio/generated/fome_hellen121nissan.ini +++ b/firmware/tunerstudio/generated/fome_hellen121nissan.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.hellen121nissan.2113580177" + signature = "rusEFI (FOME) master.2023.11.04.hellen121nissan.605791901" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.hellen121nissan.2113580177" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.hellen121nissan.605791901" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",95="10 - VTC Left",103="104 ETB Relay",96="11 - VTC Right",112="111 Main Relay",62="113 Fuel Pump Relay",59="21 - INJ_5",61="22 - INJ_3",105="23 - INJ_1",53="29 - VIAS",94="40 - INJ_6",60="41 - INJ_4",106="42 - INJ_2",68="60 - Coil 5",70="61 - Coil 3",47="62 - Coil 1",26="79 - Coil 6",69="80 - Coil 4",71="81 - Coil 2",40="Aux Low 1",41="Aux Low 2",42="Aux Low 3" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",4="106 - PPS 1",6="109 Ignition Key Voltage",14="34 - IAT",5="50 - TPS 1",1="51 - MAF",9="69 - TPS 2",13="73 - CLT",15="98 - PPS 2",11="Aux P66",12="Aux P67",3="Aux P68" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",4="106 - PPS 1",6="109 Ignition Key Voltage",14="34 - IAT",5="50 - TPS 1",1="51 - MAF",9="69 - TPS 2",13="73 - CLT",15="98 - PPS 2",11="Aux P66",12="Aux P67",3="Aux P68" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",4="106 - PPS 1",6="109 Ignition Key Voltage",14="34 - IAT",5="50 - TPS 1",1="51 - MAF",9="69 - TPS 2",13="73 - CLT",15="98 - PPS 2",11="Aux P66",12="Aux P67",3="Aux P68" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",4="106 - PPS 1",6="109 Ignition Key Voltage",14="34 - IAT",5="50 - TPS 1",1="51 - MAF",9="69 - TPS 2",13="73 - CLT",15="98 - PPS 2",11="Aux P66",12="Aux P67",3="Aux P68" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",4="106 - PPS 1",6="109 Ignition Key Voltage",14="34 - IAT",5="50 - TPS 1",1="51 - MAF",9="69 - TPS 2",13="73 - CLT",15="98 - PPS 2",11="Aux P66",12="Aux P67",3="Aux P68" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",4="106 - PPS 1",6="109 Ignition Key Voltage",14="34 - IAT",5="50 - TPS 1",1="51 - MAF",9="69 - TPS 2",13="73 - CLT",15="98 - PPS 2",11="Aux P66",12="Aux P67",3="Aux P68" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",4="106 - PPS 1",6="109 Ignition Key Voltage",14="34 - IAT",5="50 - TPS 1",1="51 - MAF",9="69 - TPS 2",13="73 - CLT",15="98 - PPS 2",11="Aux P66",12="Aux P67",3="Aux P68" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",95="10 - VTC Left",103="104 ETB Relay",96="11 - VTC Right",112="111 Main Relay",62="113 Fuel Pump Relay",59="21 - INJ_5",61="22 - INJ_3",105="23 - INJ_1",53="29 - VIAS",94="40 - INJ_6",60="41 - INJ_4",106="42 - INJ_2",68="60 - Coil 5",70="61 - Coil 3",47="62 - Coil 1",26="79 - Coil 6",69="80 - Coil 4",71="81 - Coil 2",40="Aux Low 1",41="Aux Low 2",42="Aux Low 3" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5297,6 +5352,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5392,11 +5452,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5425,6 +5487,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5444,9 +5507,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5698,7 +5778,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5867,6 +5946,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6174,7 +6254,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6184,7 +6265,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6194,7 +6276,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6204,7 +6287,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6254,14 +6338,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6271,14 +6351,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6288,6 +6364,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6396,6 +6528,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6570,11 +6704,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6582,8 +6714,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6604,10 +6734,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6615,8 +6744,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6637,7 +6764,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6896,7 +7022,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7006,10 +7131,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7138,6 +7268,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7148,6 +7288,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7210,7 +7351,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7309,6 +7451,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7317,6 +7464,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7933,12 +8081,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_hellen121vag.ini b/firmware/tunerstudio/generated/fome_hellen121vag.ini index e16123fd6a..db28d0fbb2 100644 --- a/firmware/tunerstudio/generated/fome_hellen121vag.ini +++ b/firmware/tunerstudio/generated/fome_hellen121vag.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.hellen121vag.3522798402" + signature = "rusEFI (FOME) master.2023.11.04.hellen121vag.2283317582" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.hellen121vag.3522798402" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.hellen121vag.2283317582" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",35="101 - MAP2",138="102 - IGN_1",68="103 - IGN_5",11="104 Wastegate",64="105 - IDLE rev A,B",103="105 - IDLE rev C+",135="110 - IGN_6",70="111 - IGN_3",94="112 INJ 6",59="113 INJ 5",101="115 - VVT1_2",40="117 ETB_OUT+",41="118 ETB_OUT-",42="120 - VVT2 B2",43="18 - VVT2 B1",95="19 - INJ 7",130="22 - VVT1 1",96="24 - INJ 8",63="37 - TACH",102="47 - CEL",128="65 - Fuel Pump",71="7 - IGN_2",136="8 - IGN_7",60="88 - INJ_4",106="89 - INJ_2",69="94 - IGN_4",137="95 - IGN_8",105="96 - INJ_1",61="97 - INJ_3",132="Main Relay" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",12="101 - MAP2",6="106 - KNOCK",1="14 - O2",11="29 In Maf",4="34 In PPS1",15="35 In PPS2",9="84 - TPS2",14="85 - IAT",7="86 - CAM1",8="87 - CAM2",5="92 - TPS 1",13="93 - CLT" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",12="101 - MAP2",6="106 - KNOCK",1="14 - O2",11="29 In Maf",4="34 In PPS1",15="35 In PPS2",9="84 - TPS2",14="85 - IAT",7="86 - CAM1",8="87 - CAM2",5="92 - TPS 1",13="93 - CLT" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",12="101 - MAP2",6="106 - KNOCK",1="14 - O2",11="29 In Maf",4="34 In PPS1",15="35 In PPS2",9="84 - TPS2",14="85 - IAT",7="86 - CAM1",8="87 - CAM2",5="92 - TPS 1",13="93 - CLT" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",12="101 - MAP2",6="106 - KNOCK",1="14 - O2",11="29 In Maf",4="34 In PPS1",15="35 In PPS2",9="84 - TPS2",14="85 - IAT",7="86 - CAM1",8="87 - CAM2",5="92 - TPS 1",13="93 - CLT" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",12="101 - MAP2",6="106 - KNOCK",1="14 - O2",11="29 In Maf",4="34 In PPS1",15="35 In PPS2",9="84 - TPS2",14="85 - IAT",7="86 - CAM1",8="87 - CAM2",5="92 - TPS 1",13="93 - CLT" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",12="101 - MAP2",6="106 - KNOCK",1="14 - O2",11="29 In Maf",4="34 In PPS1",15="35 In PPS2",9="84 - TPS2",14="85 - IAT",7="86 - CAM1",8="87 - CAM2",5="92 - TPS 1",13="93 - CLT" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",12="101 - MAP2",6="106 - KNOCK",1="14 - O2",11="29 In Maf",4="34 In PPS1",15="35 In PPS2",9="84 - TPS2",14="85 - IAT",7="86 - CAM1",8="87 - CAM2",5="92 - TPS 1",13="93 - CLT" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",35="101 - MAP2",138="102 - IGN_1",68="103 - IGN_5",11="104 Wastegate",64="105 - IDLE rev A,B",103="105 - IDLE rev C+",135="110 - IGN_6",70="111 - IGN_3",94="112 INJ 6",59="113 INJ 5",101="115 - VVT1_2",40="117 ETB_OUT+",41="118 ETB_OUT-",42="120 - VVT2 B2",43="18 - VVT2 B1",95="19 - INJ 7",130="22 - VVT1 1",96="24 - INJ 8",63="37 - TACH",102="47 - CEL",128="65 - Fuel Pump",71="7 - IGN_2",136="8 - IGN_7",60="88 - INJ_4",106="89 - INJ_2",69="94 - IGN_4",137="95 - IGN_8",105="96 - INJ_1",61="97 - INJ_3",132="Main Relay" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5297,6 +5352,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5392,11 +5452,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5425,6 +5487,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5444,9 +5507,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5698,7 +5778,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5867,6 +5946,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6177,7 +6257,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6187,7 +6268,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6197,7 +6279,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6207,7 +6290,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6257,14 +6341,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6274,14 +6354,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6291,6 +6367,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6399,6 +6531,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6573,11 +6707,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6585,8 +6717,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6607,10 +6737,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6618,8 +6747,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6640,7 +6767,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6899,7 +7025,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7009,10 +7134,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7141,6 +7271,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7151,6 +7291,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7213,7 +7354,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7312,6 +7454,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7320,6 +7467,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7938,12 +8086,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_hellen128mercedes.ini b/firmware/tunerstudio/generated/fome_hellen128mercedes.ini index 41c55d8c2e..0a27fbadad 100644 --- a/firmware/tunerstudio/generated/fome_hellen128mercedes.ini +++ b/firmware/tunerstudio/generated/fome_hellen128mercedes.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.hellen128.2056548544" + signature = "rusEFI (FOME) master.2023.11.04.hellen128.594901708" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.hellen128.2056548544" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.hellen128.594901708" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",62="A6 - Fan Control",128="C21 - Evap Purge Control",65="C29 - Fuel Pump",105="E1 - LS1",59="E13 - INJ 4",94="E14 - INJ 2",106="E2- LS2",95="E25 - INJ 1",96="E26 - INJ 3",61="E3 - LS3",60="E4 - LS4/VVT",137="F11 - IGN 8",69="F13 - IGN 4",71="F16 - IGN 2",135="F17 - IGN 6",138="F20 - IGN 1",68="F4 - IGN 5",70="F6 - IGN 3",136="F9 - IGN 7",10="P18_OUT_PP2",131="P19_OUT_LOW11",43="P33_PWM5",129="P34_OUT_LOW8",130="P35_OUT_LOW9" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",6="Battery Sense",4="C24 - PPS1",15="C25 - PPS2",12="E23 - MAP",13="E29 - Coolant Temp",5="E31 - TPS1",9="E34 - TPS2",10="E37 - Crank Input",7="E40 - IN_CAM",14="E45 - IAT",11="E47 - MAF",8="P30_IN_AUX4",2="P32_IN_O2S2",1="P36_IN_O2S",3="P40_IN_MAP3",16="P41_IN_AUX3" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",6="Battery Sense",4="C24 - PPS1",15="C25 - PPS2",12="E23 - MAP",13="E29 - Coolant Temp",5="E31 - TPS1",9="E34 - TPS2",10="E37 - Crank Input",7="E40 - IN_CAM",14="E45 - IAT",11="E47 - MAF",8="P30_IN_AUX4",2="P32_IN_O2S2",1="P36_IN_O2S",3="P40_IN_MAP3",16="P41_IN_AUX3" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",6="Battery Sense",4="C24 - PPS1",15="C25 - PPS2",12="E23 - MAP",13="E29 - Coolant Temp",5="E31 - TPS1",9="E34 - TPS2",10="E37 - Crank Input",7="E40 - IN_CAM",14="E45 - IAT",11="E47 - MAF",8="P30_IN_AUX4",2="P32_IN_O2S2",1="P36_IN_O2S",3="P40_IN_MAP3",16="P41_IN_AUX3" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",6="Battery Sense",4="C24 - PPS1",15="C25 - PPS2",12="E23 - MAP",13="E29 - Coolant Temp",5="E31 - TPS1",9="E34 - TPS2",10="E37 - Crank Input",7="E40 - IN_CAM",14="E45 - IAT",11="E47 - MAF",8="P30_IN_AUX4",2="P32_IN_O2S2",1="P36_IN_O2S",3="P40_IN_MAP3",16="P41_IN_AUX3" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",6="Battery Sense",4="C24 - PPS1",15="C25 - PPS2",12="E23 - MAP",13="E29 - Coolant Temp",5="E31 - TPS1",9="E34 - TPS2",10="E37 - Crank Input",7="E40 - IN_CAM",14="E45 - IAT",11="E47 - MAF",8="P30_IN_AUX4",2="P32_IN_O2S2",1="P36_IN_O2S",3="P40_IN_MAP3",16="P41_IN_AUX3" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",6="Battery Sense",4="C24 - PPS1",15="C25 - PPS2",12="E23 - MAP",13="E29 - Coolant Temp",5="E31 - TPS1",9="E34 - TPS2",10="E37 - Crank Input",7="E40 - IN_CAM",14="E45 - IAT",11="E47 - MAF",8="P30_IN_AUX4",2="P32_IN_O2S2",1="P36_IN_O2S",3="P40_IN_MAP3",16="P41_IN_AUX3" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",6="Battery Sense",4="C24 - PPS1",15="C25 - PPS2",12="E23 - MAP",13="E29 - Coolant Temp",5="E31 - TPS1",9="E34 - TPS2",10="E37 - Crank Input",7="E40 - IN_CAM",14="E45 - IAT",11="E47 - MAF",8="P30_IN_AUX4",2="P32_IN_O2S2",1="P36_IN_O2S",3="P40_IN_MAP3",16="P41_IN_AUX3" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",62="A6 - Fan Control",128="C21 - Evap Purge Control",65="C29 - Fuel Pump",105="E1 - LS1",59="E13 - INJ 4",94="E14 - INJ 2",106="E2- LS2",95="E25 - INJ 1",96="E26 - INJ 3",61="E3 - LS3",60="E4 - LS4/VVT",137="F11 - IGN 8",69="F13 - IGN 4",71="F16 - IGN 2",135="F17 - IGN 6",138="F20 - IGN 1",68="F4 - IGN 5",70="F6 - IGN 3",136="F9 - IGN 7",10="P18_OUT_PP2",131="P19_OUT_LOW11",43="P33_PWM5",129="P34_OUT_LOW8",130="P35_OUT_LOW9" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5297,6 +5352,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5392,11 +5452,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5425,6 +5487,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5444,9 +5507,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5698,7 +5778,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5867,6 +5946,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6174,7 +6254,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6184,7 +6265,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6194,7 +6276,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6204,7 +6287,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6254,14 +6338,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6271,14 +6351,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6288,6 +6364,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6396,6 +6528,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6570,11 +6704,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6582,8 +6714,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6604,10 +6734,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6615,8 +6744,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6637,7 +6764,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6896,7 +7022,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7006,10 +7131,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7138,6 +7268,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7148,6 +7288,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7210,7 +7351,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7309,6 +7451,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7317,6 +7464,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7933,12 +8081,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_hellen154hyundai.ini b/firmware/tunerstudio/generated/fome_hellen154hyundai.ini index 9217cc71b8..80ec9079d1 100644 --- a/firmware/tunerstudio/generated/fome_hellen154hyundai.ini +++ b/firmware/tunerstudio/generated/fome_hellen154hyundai.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.hellen154hyundai.3999485985" + signature = "rusEFI (FOME) master.2023.11.04.hellen154hyundai.3078773293" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.hellen154hyundai.3999485985" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.hellen154hyundai.3078773293" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",53="Aux P66",11="Aux P67",103="Aux P68",47="Coil 1",71="Coil 2",70="Coil 3",69="Coil 4",102="Fan Relay HI",101="Fan Relay Low",111="Fuel Pump K70",105="INJ_1 k25",106="INJ_2 k26",61="INJ_3 k27",60="INJ_4 k28",95="K47 BK1 Wastegate Solenoid",96="K48 LS1",110="K87 AC Relay",62="MIL",112="Main Relay K64",65="Tacho",59="VVT1",94="VVT2" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",13="CLT",14="IAT",12="K10 Sensor",6="K2 Ignition Key Voltage",1="K21 Ambient Temperature",2="K58 Oil Temp",11="Map Sensor K31",4="PPS 1",15="PPS 2",5="TPS 1",9="TPS 2" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",13="CLT",14="IAT",12="K10 Sensor",6="K2 Ignition Key Voltage",1="K21 Ambient Temperature",2="K58 Oil Temp",11="Map Sensor K31",4="PPS 1",15="PPS 2",5="TPS 1",9="TPS 2" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",13="CLT",14="IAT",12="K10 Sensor",6="K2 Ignition Key Voltage",1="K21 Ambient Temperature",2="K58 Oil Temp",11="Map Sensor K31",4="PPS 1",15="PPS 2",5="TPS 1",9="TPS 2" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",13="CLT",14="IAT",12="K10 Sensor",6="K2 Ignition Key Voltage",1="K21 Ambient Temperature",2="K58 Oil Temp",11="Map Sensor K31",4="PPS 1",15="PPS 2",5="TPS 1",9="TPS 2" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",13="CLT",14="IAT",12="K10 Sensor",6="K2 Ignition Key Voltage",1="K21 Ambient Temperature",2="K58 Oil Temp",11="Map Sensor K31",4="PPS 1",15="PPS 2",5="TPS 1",9="TPS 2" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",13="CLT",14="IAT",12="K10 Sensor",6="K2 Ignition Key Voltage",1="K21 Ambient Temperature",2="K58 Oil Temp",11="Map Sensor K31",4="PPS 1",15="PPS 2",5="TPS 1",9="TPS 2" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",13="CLT",14="IAT",12="K10 Sensor",6="K2 Ignition Key Voltage",1="K21 Ambient Temperature",2="K58 Oil Temp",11="Map Sensor K31",4="PPS 1",15="PPS 2",5="TPS 1",9="TPS 2" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",53="Aux P66",11="Aux P67",103="Aux P68",47="Coil 1",71="Coil 2",70="Coil 3",69="Coil 4",102="Fan Relay HI",101="Fan Relay Low",111="Fuel Pump K70",105="INJ_1 k25",106="INJ_2 k26",61="INJ_3 k27",60="INJ_4 k28",95="K47 BK1 Wastegate Solenoid",96="K48 LS1",110="K87 AC Relay",62="MIL",112="Main Relay K64",65="Tacho",59="VVT1",94="VVT2" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5297,6 +5352,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5392,11 +5452,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5425,6 +5487,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5444,9 +5507,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5698,7 +5778,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5867,6 +5946,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6174,7 +6254,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6184,7 +6265,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6194,7 +6276,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6204,7 +6287,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6254,14 +6338,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6271,14 +6351,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6288,6 +6364,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6396,6 +6528,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6570,11 +6704,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6582,8 +6714,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6604,10 +6734,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6615,8 +6744,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6637,7 +6764,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6896,7 +7022,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7006,10 +7131,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7138,6 +7268,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7148,6 +7288,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7210,7 +7351,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7309,6 +7451,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7317,6 +7464,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7932,12 +8080,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_hellen72.ini b/firmware/tunerstudio/generated/fome_hellen72.ini index 8c9e8ae25d..270c9ea08a 100644 --- a/firmware/tunerstudio/generated/fome_hellen72.ini +++ b/firmware/tunerstudio/generated/fome_hellen72.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.hellen72.196249808" + signature = "rusEFI (FOME) master.2023.11.04.hellen72.1381204700" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.hellen72.196249808" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.hellen72.1381204700" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",105="2A - INJ_1",62="2B - ECF (PWM8)",59="2C - AC Fan / INJ_5",106="2D - INJ_2",61="2G - INJ_3",60="2J - INJ_4",129="2K - AC (O4)",100="2M - FPUMP (O9)",94="2N - VTSC / INJ_6",70="2O - IGN_3",64="2Q - IDLE (PWM5)",102="2R - CE (O11)",95="3C - Purge Solenoid / INJ_7",96="3D - EGR Solenoid / INJ_8",101="3E - CANIST (O10)",138="3F - IGN_1 (1&4)",132="3H - MAIN (O1)",71="3I - IGN_2 (2&3)",128="3J - O2H (O3)",136="3L - IGN_7 / AFR",65="3M - ALTERN (PWM6)",69="3N - IGN_4",63="3O - TACH (PWM7)",11="3P - O2H2 (O7)",127="3U - AWARN (O2)",68="3Z - IGN_5 / GNDA",135="4K - IGN_6 / +5V_MAP",130="4R - VVT (O5)",137="4U - MAP2/Ign8 (A10)",43="5E - SOLENOID OUTPUT",41="ETB +",42="ETB -",40="ETB EN" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",2="3L - IGN_7 / AFR",7="3V - CAM (A19)",10="3Y - CRANK (A24)",16="4AE - EGR/MAP4 (A22)",9="4F - AC_PRES/AUX1 (A23)",8="4J - VTCS/AUX4 (A20)",14="4N - IAT (A14)",13="4P - CLT (A11)",6="4S/4T - Alternator voltage",12="4U - MAP2/Ign8 (A10)",5="4V - TPS (A17)",11="4X - MAF (A9)",15="5M - PPS2 OR TEMPERATURE SENSOR",1="5N - TPS2",4="5P - PPS1",3="intMAP (A15)" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",2="3L - IGN_7 / AFR",7="3V - CAM (A19)",10="3Y - CRANK (A24)",16="4AE - EGR/MAP4 (A22)",9="4F - AC_PRES/AUX1 (A23)",8="4J - VTCS/AUX4 (A20)",14="4N - IAT (A14)",13="4P - CLT (A11)",6="4S/4T - Alternator voltage",12="4U - MAP2/Ign8 (A10)",5="4V - TPS (A17)",11="4X - MAF (A9)",15="5M - PPS2 OR TEMPERATURE SENSOR",1="5N - TPS2",4="5P - PPS1",3="intMAP (A15)" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",2="3L - IGN_7 / AFR",7="3V - CAM (A19)",10="3Y - CRANK (A24)",16="4AE - EGR/MAP4 (A22)",9="4F - AC_PRES/AUX1 (A23)",8="4J - VTCS/AUX4 (A20)",14="4N - IAT (A14)",13="4P - CLT (A11)",6="4S/4T - Alternator voltage",12="4U - MAP2/Ign8 (A10)",5="4V - TPS (A17)",11="4X - MAF (A9)",15="5M - PPS2 OR TEMPERATURE SENSOR",1="5N - TPS2",4="5P - PPS1",3="intMAP (A15)" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",2="3L - IGN_7 / AFR",7="3V - CAM (A19)",10="3Y - CRANK (A24)",16="4AE - EGR/MAP4 (A22)",9="4F - AC_PRES/AUX1 (A23)",8="4J - VTCS/AUX4 (A20)",14="4N - IAT (A14)",13="4P - CLT (A11)",6="4S/4T - Alternator voltage",12="4U - MAP2/Ign8 (A10)",5="4V - TPS (A17)",11="4X - MAF (A9)",15="5M - PPS2 OR TEMPERATURE SENSOR",1="5N - TPS2",4="5P - PPS1",3="intMAP (A15)" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",2="3L - IGN_7 / AFR",7="3V - CAM (A19)",10="3Y - CRANK (A24)",16="4AE - EGR/MAP4 (A22)",9="4F - AC_PRES/AUX1 (A23)",8="4J - VTCS/AUX4 (A20)",14="4N - IAT (A14)",13="4P - CLT (A11)",6="4S/4T - Alternator voltage",12="4U - MAP2/Ign8 (A10)",5="4V - TPS (A17)",11="4X - MAF (A9)",15="5M - PPS2 OR TEMPERATURE SENSOR",1="5N - TPS2",4="5P - PPS1",3="intMAP (A15)" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",2="3L - IGN_7 / AFR",7="3V - CAM (A19)",10="3Y - CRANK (A24)",16="4AE - EGR/MAP4 (A22)",9="4F - AC_PRES/AUX1 (A23)",8="4J - VTCS/AUX4 (A20)",14="4N - IAT (A14)",13="4P - CLT (A11)",6="4S/4T - Alternator voltage",12="4U - MAP2/Ign8 (A10)",5="4V - TPS (A17)",11="4X - MAF (A9)",15="5M - PPS2 OR TEMPERATURE SENSOR",1="5N - TPS2",4="5P - PPS1",3="intMAP (A15)" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",2="3L - IGN_7 / AFR",7="3V - CAM (A19)",10="3Y - CRANK (A24)",16="4AE - EGR/MAP4 (A22)",9="4F - AC_PRES/AUX1 (A23)",8="4J - VTCS/AUX4 (A20)",14="4N - IAT (A14)",13="4P - CLT (A11)",6="4S/4T - Alternator voltage",12="4U - MAP2/Ign8 (A10)",5="4V - TPS (A17)",11="4X - MAF (A9)",15="5M - PPS2 OR TEMPERATURE SENSOR",1="5N - TPS2",4="5P - PPS1",3="intMAP (A15)" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",105="2A - INJ_1",62="2B - ECF (PWM8)",59="2C - AC Fan / INJ_5",106="2D - INJ_2",61="2G - INJ_3",60="2J - INJ_4",129="2K - AC (O4)",100="2M - FPUMP (O9)",94="2N - VTSC / INJ_6",70="2O - IGN_3",64="2Q - IDLE (PWM5)",102="2R - CE (O11)",95="3C - Purge Solenoid / INJ_7",96="3D - EGR Solenoid / INJ_8",101="3E - CANIST (O10)",138="3F - IGN_1 (1&4)",132="3H - MAIN (O1)",71="3I - IGN_2 (2&3)",128="3J - O2H (O3)",136="3L - IGN_7 / AFR",65="3M - ALTERN (PWM6)",69="3N - IGN_4",63="3O - TACH (PWM7)",11="3P - O2H2 (O7)",127="3U - AWARN (O2)",68="3Z - IGN_5 / GNDA",135="4K - IGN_6 / +5V_MAP",130="4R - VVT (O5)",137="4U - MAP2/Ign8 (A10)",43="5E - SOLENOID OUTPUT",41="ETB +",42="ETB -",40="ETB EN" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5297,6 +5352,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5392,11 +5452,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5425,6 +5487,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5444,9 +5507,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5698,7 +5778,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5867,6 +5946,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6177,7 +6257,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6187,7 +6268,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6197,7 +6279,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6207,7 +6290,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6257,14 +6341,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6274,14 +6354,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6291,6 +6367,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6399,6 +6531,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6573,11 +6707,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6585,8 +6717,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6607,10 +6737,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6618,8 +6747,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6640,7 +6767,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6899,7 +7025,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7009,10 +7134,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7141,6 +7271,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7151,6 +7291,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7213,7 +7354,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7313,6 +7455,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7321,6 +7468,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7935,12 +8083,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_hellen81.ini b/firmware/tunerstudio/generated/fome_hellen81.ini index d8ac41b7c7..cc37716f04 100644 --- a/firmware/tunerstudio/generated/fome_hellen81.ini +++ b/firmware/tunerstudio/generated/fome_hellen81.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.hellen81.2805527122" + signature = "rusEFI (FOME) master.2023.11.04.hellen81.4275697758" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.hellen81.2805527122" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.hellen81.4275697758" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",71="1 - IGN_2",65="10 - OUT_FUEL",127="11 - OUT_HIGH",132="14 - OUT_MAIN",70="2 - IGN_3",72="21 - IGN_8",27="22 - IGN_7",26="23 - IGN_6",68="24 - IGN_5",94="25 - INJ_6",105="27 - INJ_1",11="28 - OUT_O2H2",59="30 - INJ_5",102="31 - OUT_CE",69="4 - IGN_4",101="46 - OUT_CANIST",60="47 - INJ_4",128="48 - OUT_O2H",131="49 - OUT_HEATER",138="5 - IGN_1",130="50 - OUT_STARTER",106="6 - INJ_2",63="60 - OUT_IO",43="64 - OUT_COIL_B2",42="65 - OUT_COIL_B1",41="66 - OUT_COIL_A2",40="67 - OUT_COIL_A1",62="68 - OUT_ECF",129="69 - OUT_AC",61="7 - INJ_3",100="70 - OUT_PUMP",95="72 - INJ_7",96="73 - INJ_8",64="8 - OUT_TACH" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",6="13 - IN_VIGN",10="15 - IN_CRANK (A24)",5="16 - IN_TPS",1="18 - IN_O2S",11="37 - IN_MAP1",12="38 - IN_MAP2",13="39 - IN_CLT",14="40 - IN_IAT",3="41 - IN_MAP3",2="55 - IN_O2S2",9="74 - IN_AUX1",15="75 - IN_AUX2",16="76 - IN_AUX3",8="77 - IN_AUX4",4="78 - IN_PPS",7="79 - IN_CAM" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",6="13 - IN_VIGN",10="15 - IN_CRANK (A24)",5="16 - IN_TPS",1="18 - IN_O2S",11="37 - IN_MAP1",12="38 - IN_MAP2",13="39 - IN_CLT",14="40 - IN_IAT",3="41 - IN_MAP3",2="55 - IN_O2S2",9="74 - IN_AUX1",15="75 - IN_AUX2",16="76 - IN_AUX3",8="77 - IN_AUX4",4="78 - IN_PPS",7="79 - IN_CAM" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",6="13 - IN_VIGN",10="15 - IN_CRANK (A24)",5="16 - IN_TPS",1="18 - IN_O2S",11="37 - IN_MAP1",12="38 - IN_MAP2",13="39 - IN_CLT",14="40 - IN_IAT",3="41 - IN_MAP3",2="55 - IN_O2S2",9="74 - IN_AUX1",15="75 - IN_AUX2",16="76 - IN_AUX3",8="77 - IN_AUX4",4="78 - IN_PPS",7="79 - IN_CAM" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",6="13 - IN_VIGN",10="15 - IN_CRANK (A24)",5="16 - IN_TPS",1="18 - IN_O2S",11="37 - IN_MAP1",12="38 - IN_MAP2",13="39 - IN_CLT",14="40 - IN_IAT",3="41 - IN_MAP3",2="55 - IN_O2S2",9="74 - IN_AUX1",15="75 - IN_AUX2",16="76 - IN_AUX3",8="77 - IN_AUX4",4="78 - IN_PPS",7="79 - IN_CAM" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",6="13 - IN_VIGN",10="15 - IN_CRANK (A24)",5="16 - IN_TPS",1="18 - IN_O2S",11="37 - IN_MAP1",12="38 - IN_MAP2",13="39 - IN_CLT",14="40 - IN_IAT",3="41 - IN_MAP3",2="55 - IN_O2S2",9="74 - IN_AUX1",15="75 - IN_AUX2",16="76 - IN_AUX3",8="77 - IN_AUX4",4="78 - IN_PPS",7="79 - IN_CAM" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",6="13 - IN_VIGN",10="15 - IN_CRANK (A24)",5="16 - IN_TPS",1="18 - IN_O2S",11="37 - IN_MAP1",12="38 - IN_MAP2",13="39 - IN_CLT",14="40 - IN_IAT",3="41 - IN_MAP3",2="55 - IN_O2S2",9="74 - IN_AUX1",15="75 - IN_AUX2",16="76 - IN_AUX3",8="77 - IN_AUX4",4="78 - IN_PPS",7="79 - IN_CAM" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",6="13 - IN_VIGN",10="15 - IN_CRANK (A24)",5="16 - IN_TPS",1="18 - IN_O2S",11="37 - IN_MAP1",12="38 - IN_MAP2",13="39 - IN_CLT",14="40 - IN_IAT",3="41 - IN_MAP3",2="55 - IN_O2S2",9="74 - IN_AUX1",15="75 - IN_AUX2",16="76 - IN_AUX3",8="77 - IN_AUX4",4="78 - IN_PPS",7="79 - IN_CAM" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",71="1 - IGN_2",65="10 - OUT_FUEL",127="11 - OUT_HIGH",132="14 - OUT_MAIN",70="2 - IGN_3",72="21 - IGN_8",27="22 - IGN_7",26="23 - IGN_6",68="24 - IGN_5",94="25 - INJ_6",105="27 - INJ_1",11="28 - OUT_O2H2",59="30 - INJ_5",102="31 - OUT_CE",69="4 - IGN_4",101="46 - OUT_CANIST",60="47 - INJ_4",128="48 - OUT_O2H",131="49 - OUT_HEATER",138="5 - IGN_1",130="50 - OUT_STARTER",106="6 - INJ_2",63="60 - OUT_IO",43="64 - OUT_COIL_B2",42="65 - OUT_COIL_B1",41="66 - OUT_COIL_A2",40="67 - OUT_COIL_A1",62="68 - OUT_ECF",129="69 - OUT_AC",61="7 - INJ_3",100="70 - OUT_PUMP",95="72 - INJ_7",96="73 - INJ_8",64="8 - OUT_TACH" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5295,6 +5350,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5390,11 +5450,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5423,6 +5485,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5442,9 +5505,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5696,7 +5776,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5865,6 +5944,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6175,7 +6255,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6185,7 +6266,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6195,7 +6277,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6205,7 +6288,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6255,14 +6339,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6272,14 +6352,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6289,6 +6365,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6397,6 +6529,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6571,11 +6705,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6583,8 +6715,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6605,10 +6735,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6616,8 +6745,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6638,7 +6765,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6897,7 +7023,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7007,10 +7132,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7139,6 +7269,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7149,6 +7289,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7211,7 +7352,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7310,6 +7452,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7318,6 +7465,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7931,12 +8079,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_hellen88bmw.ini b/firmware/tunerstudio/generated/fome_hellen88bmw.ini index 6397ee1170..0518340ec2 100644 --- a/firmware/tunerstudio/generated/fome_hellen88bmw.ini +++ b/firmware/tunerstudio/generated/fome_hellen88bmw.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.hellen88bmw.2701190497" + signature = "rusEFI (FOME) master.2023.11.04.hellen88bmw.4175556461" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.hellen88bmw.2701190497" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.hellen88bmw.4175556461" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",112="1 - OUT_PUMP",62="2 - IdleC",69="23 - Coil 4",26="24 - Coil 6",68="25 - Coil 5",53="27 - MAIN",43="29 - Idle",59="3 - INJ_5",61="31 - INJ_3",106="32 - INJ_2",105="33 - INJ_1",96="35 - INJ_8",94="4 - INJ_6",65="47 - Tach",60="5 - INJ_4",47="50 - Coil 1",71="51 - Coil 2",70="52 - Coil 3",95="7 - INJ_7/VVT" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",10="16 - CRANK",7="17 - CAM",11="41 - MAF",6="56 - Battery Sense",5="73 - TPS",14="77 - IAT",13="78 - CLT",8="Aux BARO",12="Aux MAP",15="Aux PPS2",9="Aux TPS2",16="Aux TPS3",4="PPS1",1="VIN5",2="VIN6" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",10="16 - CRANK",7="17 - CAM",11="41 - MAF",6="56 - Battery Sense",5="73 - TPS",14="77 - IAT",13="78 - CLT",8="Aux BARO",12="Aux MAP",15="Aux PPS2",9="Aux TPS2",16="Aux TPS3",4="PPS1",1="VIN5",2="VIN6" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",10="16 - CRANK",7="17 - CAM",11="41 - MAF",6="56 - Battery Sense",5="73 - TPS",14="77 - IAT",13="78 - CLT",8="Aux BARO",12="Aux MAP",15="Aux PPS2",9="Aux TPS2",16="Aux TPS3",4="PPS1",1="VIN5",2="VIN6" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",10="16 - CRANK",7="17 - CAM",11="41 - MAF",6="56 - Battery Sense",5="73 - TPS",14="77 - IAT",13="78 - CLT",8="Aux BARO",12="Aux MAP",15="Aux PPS2",9="Aux TPS2",16="Aux TPS3",4="PPS1",1="VIN5",2="VIN6" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",10="16 - CRANK",7="17 - CAM",11="41 - MAF",6="56 - Battery Sense",5="73 - TPS",14="77 - IAT",13="78 - CLT",8="Aux BARO",12="Aux MAP",15="Aux PPS2",9="Aux TPS2",16="Aux TPS3",4="PPS1",1="VIN5",2="VIN6" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",10="16 - CRANK",7="17 - CAM",11="41 - MAF",6="56 - Battery Sense",5="73 - TPS",14="77 - IAT",13="78 - CLT",8="Aux BARO",12="Aux MAP",15="Aux PPS2",9="Aux TPS2",16="Aux TPS3",4="PPS1",1="VIN5",2="VIN6" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",10="16 - CRANK",7="17 - CAM",11="41 - MAF",6="56 - Battery Sense",5="73 - TPS",14="77 - IAT",13="78 - CLT",8="Aux BARO",12="Aux MAP",15="Aux PPS2",9="Aux TPS2",16="Aux TPS3",4="PPS1",1="VIN5",2="VIN6" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",112="1 - OUT_PUMP",62="2 - IdleC",69="23 - Coil 4",26="24 - Coil 6",68="25 - Coil 5",53="27 - MAIN",43="29 - Idle",59="3 - INJ_5",61="31 - INJ_3",106="32 - INJ_2",105="33 - INJ_1",96="35 - INJ_8",94="4 - INJ_6",65="47 - Tach",60="5 - INJ_4",47="50 - Coil 1",71="51 - Coil 2",70="52 - Coil 3",95="7 - INJ_7/VVT" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5297,6 +5352,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5392,11 +5452,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5425,6 +5487,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5444,9 +5507,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5698,7 +5778,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5867,6 +5946,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6174,7 +6254,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6184,7 +6265,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6194,7 +6276,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6204,7 +6287,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6254,14 +6338,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6271,14 +6351,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6288,6 +6364,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6396,6 +6528,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6570,11 +6704,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6582,8 +6714,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6604,10 +6734,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6615,8 +6744,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6637,7 +6764,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6896,7 +7022,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7006,10 +7131,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7138,6 +7268,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7148,6 +7288,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7209,7 +7350,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7308,6 +7450,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7316,6 +7463,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7929,12 +8077,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_hellenNA6.ini b/firmware/tunerstudio/generated/fome_hellenNA6.ini index 55a7657a4f..7a98cc6653 100644 --- a/firmware/tunerstudio/generated/fome_hellenNA6.ini +++ b/firmware/tunerstudio/generated/fome_hellenNA6.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.hellenNA6.3921039584" + signature = "rusEFI (FOME) master.2023.11.04.hellenNA6.2958514924" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.hellenNA6.3921039584" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.hellenNA6.2958514924" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",107="1E - Check Engine Light",138="1G - Ignition 1 & 4 (rev C)",47="1G - Ignition 1 & 4 (rev D)",71="1H - Ignition 2 & 3",129="1J - AC Relay",96="2I - VVT",94="2J - Boost Control",59="3S - A/C Fan 94-95",105="3U - Injector 1",106="3V - Injector 2",64="3W - IDLE",61="3Y - Injector 3",60="3Z - Injector 4",41="ETB +",42="ETB -",40="ETB EN",100="Fuel Pump Relay",62="Radiator Fan",130="Tachometer (rev C)",110="Tachometer (rev D)" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",6="1B - Battery Sense",16="1Q AC Switch",15="1V - Clutch Switch",12="2M - Pressure Sensor",2="2N - Temperature Sensor",1="3N - O2S",11="3O - MAF",14="3P - IAT",13="3Q - CLT",8="4G - PPS2 OR TEMPERATURE SENSOR",9="4H - TPS2",4="4I - PPS1",5="TPS Input",3="intMAP (A15)" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",6="1B - Battery Sense",16="1Q AC Switch",15="1V - Clutch Switch",12="2M - Pressure Sensor",2="2N - Temperature Sensor",1="3N - O2S",11="3O - MAF",14="3P - IAT",13="3Q - CLT",8="4G - PPS2 OR TEMPERATURE SENSOR",9="4H - TPS2",4="4I - PPS1",5="TPS Input",3="intMAP (A15)" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",6="1B - Battery Sense",16="1Q AC Switch",15="1V - Clutch Switch",12="2M - Pressure Sensor",2="2N - Temperature Sensor",1="3N - O2S",11="3O - MAF",14="3P - IAT",13="3Q - CLT",8="4G - PPS2 OR TEMPERATURE SENSOR",9="4H - TPS2",4="4I - PPS1",5="TPS Input",3="intMAP (A15)" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",6="1B - Battery Sense",16="1Q AC Switch",15="1V - Clutch Switch",12="2M - Pressure Sensor",2="2N - Temperature Sensor",1="3N - O2S",11="3O - MAF",14="3P - IAT",13="3Q - CLT",8="4G - PPS2 OR TEMPERATURE SENSOR",9="4H - TPS2",4="4I - PPS1",5="TPS Input",3="intMAP (A15)" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",6="1B - Battery Sense",16="1Q AC Switch",15="1V - Clutch Switch",12="2M - Pressure Sensor",2="2N - Temperature Sensor",1="3N - O2S",11="3O - MAF",14="3P - IAT",13="3Q - CLT",8="4G - PPS2 OR TEMPERATURE SENSOR",9="4H - TPS2",4="4I - PPS1",5="TPS Input",3="intMAP (A15)" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",6="1B - Battery Sense",16="1Q AC Switch",15="1V - Clutch Switch",12="2M - Pressure Sensor",2="2N - Temperature Sensor",1="3N - O2S",11="3O - MAF",14="3P - IAT",13="3Q - CLT",8="4G - PPS2 OR TEMPERATURE SENSOR",9="4H - TPS2",4="4I - PPS1",5="TPS Input",3="intMAP (A15)" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",6="1B - Battery Sense",16="1Q AC Switch",15="1V - Clutch Switch",12="2M - Pressure Sensor",2="2N - Temperature Sensor",1="3N - O2S",11="3O - MAF",14="3P - IAT",13="3Q - CLT",8="4G - PPS2 OR TEMPERATURE SENSOR",9="4H - TPS2",4="4I - PPS1",5="TPS Input",3="intMAP (A15)" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",107="1E - Check Engine Light",138="1G - Ignition 1 & 4 (rev C)",47="1G - Ignition 1 & 4 (rev D)",71="1H - Ignition 2 & 3",129="1J - AC Relay",96="2I - VVT",94="2J - Boost Control",59="3S - A/C Fan 94-95",105="3U - Injector 1",106="3V - Injector 2",64="3W - IDLE",61="3Y - Injector 3",60="3Z - Injector 4",41="ETB +",42="ETB -",40="ETB EN",100="Fuel Pump Relay",62="Radiator Fan",130="Tachometer (rev C)",110="Tachometer (rev D)" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5297,6 +5352,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5392,11 +5452,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5425,6 +5487,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5444,9 +5507,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5698,7 +5778,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5867,6 +5946,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6177,7 +6257,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6187,7 +6268,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6197,7 +6279,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6207,7 +6290,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6257,14 +6341,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6274,14 +6354,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6291,6 +6367,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6399,6 +6531,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6573,11 +6707,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6585,8 +6717,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6607,10 +6737,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6618,8 +6747,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6640,7 +6767,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6899,7 +7025,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7009,10 +7134,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7141,6 +7271,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7151,6 +7291,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7213,7 +7354,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7313,6 +7455,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7321,6 +7468,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7936,12 +8084,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_hellenNA8_96.ini b/firmware/tunerstudio/generated/fome_hellenNA8_96.ini index bf5d307987..09dcbaca88 100644 --- a/firmware/tunerstudio/generated/fome_hellenNA8_96.ini +++ b/firmware/tunerstudio/generated/fome_hellenNA8_96.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.hellenNA8_96.1427253072" + signature = "rusEFI (FOME) master.2023.11.04.hellenNA8_96.217263452" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.hellenNA8_96.1427253072" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.hellenNA8_96.217263452" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",62="1A - ECF",11="1B - AC Fan Relay",102="1E - Check Engine Light",109="1G - AC Relay",100="1U - Fuel Pump",63="3L - TACH",47="3N - IGN_1 (1&4)",64="3Q - IDLE",71="3R - IGN_2 (2&3)",105="3U - INJ_1",106="3V - INJ_2",61="3W - INJ_3",60="3X - INJ_4",111="3Z - O2H2",94="4D - BOOST OUT",59="4E - VVT",41="ETB +",42="ETB -",40="ETB EN",52="P18/P22" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",16="1K - AC Switch",9="2A - Pressure Input",14="2B - IAT",11="2B - MAF",1="2C - O2S",5="2F - TPS",13="2G - Coolant",6="3B - Battery Sense",10="3F - CRANK",7="3G - CAM",8="3S - EGR BOOST IN",15="4C - IN TEMP/PPS2",4="PPS1",2="TPS1",3="intMAP" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",16="1K - AC Switch",9="2A - Pressure Input",14="2B - IAT",11="2B - MAF",1="2C - O2S",5="2F - TPS",13="2G - Coolant",6="3B - Battery Sense",10="3F - CRANK",7="3G - CAM",8="3S - EGR BOOST IN",15="4C - IN TEMP/PPS2",4="PPS1",2="TPS1",3="intMAP" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",16="1K - AC Switch",9="2A - Pressure Input",14="2B - IAT",11="2B - MAF",1="2C - O2S",5="2F - TPS",13="2G - Coolant",6="3B - Battery Sense",10="3F - CRANK",7="3G - CAM",8="3S - EGR BOOST IN",15="4C - IN TEMP/PPS2",4="PPS1",2="TPS1",3="intMAP" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",16="1K - AC Switch",9="2A - Pressure Input",14="2B - IAT",11="2B - MAF",1="2C - O2S",5="2F - TPS",13="2G - Coolant",6="3B - Battery Sense",10="3F - CRANK",7="3G - CAM",8="3S - EGR BOOST IN",15="4C - IN TEMP/PPS2",4="PPS1",2="TPS1",3="intMAP" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",16="1K - AC Switch",9="2A - Pressure Input",14="2B - IAT",11="2B - MAF",1="2C - O2S",5="2F - TPS",13="2G - Coolant",6="3B - Battery Sense",10="3F - CRANK",7="3G - CAM",8="3S - EGR BOOST IN",15="4C - IN TEMP/PPS2",4="PPS1",2="TPS1",3="intMAP" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",16="1K - AC Switch",9="2A - Pressure Input",14="2B - IAT",11="2B - MAF",1="2C - O2S",5="2F - TPS",13="2G - Coolant",6="3B - Battery Sense",10="3F - CRANK",7="3G - CAM",8="3S - EGR BOOST IN",15="4C - IN TEMP/PPS2",4="PPS1",2="TPS1",3="intMAP" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",16="1K - AC Switch",9="2A - Pressure Input",14="2B - IAT",11="2B - MAF",1="2C - O2S",5="2F - TPS",13="2G - Coolant",6="3B - Battery Sense",10="3F - CRANK",7="3G - CAM",8="3S - EGR BOOST IN",15="4C - IN TEMP/PPS2",4="PPS1",2="TPS1",3="intMAP" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",62="1A - ECF",11="1B - AC Fan Relay",102="1E - Check Engine Light",109="1G - AC Relay",100="1U - Fuel Pump",63="3L - TACH",47="3N - IGN_1 (1&4)",64="3Q - IDLE",71="3R - IGN_2 (2&3)",105="3U - INJ_1",106="3V - INJ_2",61="3W - INJ_3",60="3X - INJ_4",111="3Z - O2H2",94="4D - BOOST OUT",59="4E - VVT",41="ETB +",42="ETB -",40="ETB EN",52="P18/P22" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5297,6 +5352,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5392,11 +5452,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5425,6 +5487,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5444,9 +5507,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5698,7 +5778,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5867,6 +5946,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6177,7 +6257,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6187,7 +6268,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6197,7 +6279,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6207,7 +6290,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6257,14 +6341,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6274,14 +6354,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6291,6 +6367,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6399,6 +6531,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6573,11 +6707,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6585,8 +6717,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6607,10 +6737,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6618,8 +6747,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6640,7 +6767,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6899,7 +7025,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7009,10 +7134,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7141,6 +7271,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7151,6 +7291,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7213,7 +7354,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7313,6 +7455,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7321,6 +7468,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7934,12 +8082,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_mre_f4.ini b/firmware/tunerstudio/generated/fome_mre_f4.ini index 6158b70dc2..e8eccaff27 100644 --- a/firmware/tunerstudio/generated/fome_mre_f4.ini +++ b/firmware/tunerstudio/generated/fome_mre_f4.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.mre_f4.495482079" + signature = "rusEFI (FOME) master.2023.11.04.mre_f4.1147764435" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.mre_f4.495482079" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.mre_f4.1147764435" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",53="10 - Ignition 2",52="11 - Ignition 3",51="12 - Ignition 4",56="13 - GP Out 6",57="14 - GP Out 5",6="28 - AN volt 10, Aux Reuse",172="3 - Lowside 2",38="32 - AN volt 6, Aux Reuse",190="33 - GP Out 3",189="34 - GP Out 2",188="35 - GP Out 1",18="36 - AN volt 8, Aux Reuse",168="37 - Injector 1",169="38 - Injector 2",19="40 - AN volt 9, Aux Reuse",170="41 - Injector 3",171="42 - Injector 4",191="43 - GP Out 4",173="7 - Lowside 1",54="9 - Ignition 1",72="AUX J10 PE6",71="AUX J11 PE5",29="AUX J12",28="AUX J13",25="AUX J18 PB7",17="AUX J2 PA15",26="AUX J2 PB8",27="AUX J2 PB9",46="AUX J2 PC12",66="AUX J6" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",1="18 - AN temp 1",13="19 - AN volt 4",14="20 - AN volt 5",4="22 - AN temp 4",2="23 - AN temp 2",3="24 - AN temp 3",7="26 - AN volt 2",11="27 - AN volt 1",5="28 - AN volt 10, Aux Reuse",16="30 - AN volt 7",8="31 - AN volt 3",15="32 - AN volt 6, Aux Reuse",9="36 - AN volt 8, Aux Reuse",10="40 - AN volt 9, Aux Reuse",12="Battery Sense" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",1="18 - AN temp 1",13="19 - AN volt 4",14="20 - AN volt 5",4="22 - AN temp 4",2="23 - AN temp 2",3="24 - AN temp 3",7="26 - AN volt 2",11="27 - AN volt 1",5="28 - AN volt 10, Aux Reuse",16="30 - AN volt 7",8="31 - AN volt 3",15="32 - AN volt 6, Aux Reuse",9="36 - AN volt 8, Aux Reuse",10="40 - AN volt 9, Aux Reuse",12="Battery Sense" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",1="18 - AN temp 1",13="19 - AN volt 4",14="20 - AN volt 5",4="22 - AN temp 4",2="23 - AN temp 2",3="24 - AN temp 3",7="26 - AN volt 2",11="27 - AN volt 1",5="28 - AN volt 10, Aux Reuse",16="30 - AN volt 7",8="31 - AN volt 3",15="32 - AN volt 6, Aux Reuse",9="36 - AN volt 8, Aux Reuse",10="40 - AN volt 9, Aux Reuse",12="Battery Sense" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",1="18 - AN temp 1",13="19 - AN volt 4",14="20 - AN volt 5",4="22 - AN temp 4",2="23 - AN temp 2",3="24 - AN temp 3",7="26 - AN volt 2",11="27 - AN volt 1",5="28 - AN volt 10, Aux Reuse",16="30 - AN volt 7",8="31 - AN volt 3",15="32 - AN volt 6, Aux Reuse",9="36 - AN volt 8, Aux Reuse",10="40 - AN volt 9, Aux Reuse",12="Battery Sense" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",1="18 - AN temp 1",13="19 - AN volt 4",14="20 - AN volt 5",4="22 - AN temp 4",2="23 - AN temp 2",3="24 - AN temp 3",7="26 - AN volt 2",11="27 - AN volt 1",5="28 - AN volt 10, Aux Reuse",16="30 - AN volt 7",8="31 - AN volt 3",15="32 - AN volt 6, Aux Reuse",9="36 - AN volt 8, Aux Reuse",10="40 - AN volt 9, Aux Reuse",12="Battery Sense" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",1="18 - AN temp 1",13="19 - AN volt 4",14="20 - AN volt 5",4="22 - AN temp 4",2="23 - AN temp 2",3="24 - AN temp 3",7="26 - AN volt 2",11="27 - AN volt 1",5="28 - AN volt 10, Aux Reuse",16="30 - AN volt 7",8="31 - AN volt 3",15="32 - AN volt 6, Aux Reuse",9="36 - AN volt 8, Aux Reuse",10="40 - AN volt 9, Aux Reuse",12="Battery Sense" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",1="18 - AN temp 1",13="19 - AN volt 4",14="20 - AN volt 5",4="22 - AN temp 4",2="23 - AN temp 2",3="24 - AN temp 3",7="26 - AN volt 2",11="27 - AN volt 1",5="28 - AN volt 10, Aux Reuse",16="30 - AN volt 7",8="31 - AN volt 3",15="32 - AN volt 6, Aux Reuse",9="36 - AN volt 8, Aux Reuse",10="40 - AN volt 9, Aux Reuse",12="Battery Sense" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",53="10 - Ignition 2",52="11 - Ignition 3",51="12 - Ignition 4",56="13 - GP Out 6",57="14 - GP Out 5",6="28 - AN volt 10, Aux Reuse",172="3 - Lowside 2",38="32 - AN volt 6, Aux Reuse",190="33 - GP Out 3",189="34 - GP Out 2",188="35 - GP Out 1",18="36 - AN volt 8, Aux Reuse",168="37 - Injector 1",169="38 - Injector 2",19="40 - AN volt 9, Aux Reuse",170="41 - Injector 3",171="42 - Injector 4",191="43 - GP Out 4",173="7 - Lowside 1",54="9 - Ignition 1",72="AUX J10 PE6",71="AUX J11 PE5",29="AUX J12",28="AUX J13",25="AUX J18 PB7",17="AUX J2 PA15",26="AUX J2 PB8",27="AUX J2 PB9",46="AUX J2 PC12",66="AUX J6" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4371,7 +4413,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4396,7 +4437,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4413,10 +4453,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4456,18 +4496,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4480,7 +4508,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4659,6 +4686,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4672,6 +4710,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4681,10 +4720,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4849,7 +4901,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4943,14 +4994,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4994,14 +5045,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5153,8 +5204,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = egtInputs, "EGT" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5299,6 +5354,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5394,11 +5454,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5427,6 +5489,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5446,9 +5509,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5700,7 +5780,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5869,6 +5948,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6179,7 +6259,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6189,7 +6270,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6199,7 +6281,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6209,7 +6292,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6259,14 +6343,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6276,14 +6356,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6293,6 +6369,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6401,6 +6533,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6575,8 +6709,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel @@ -6586,8 +6718,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6608,7 +6738,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel @@ -6618,8 +6747,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6640,7 +6767,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6899,7 +7025,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7008,10 +7133,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7140,6 +7270,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7150,6 +7290,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7211,7 +7352,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7312,6 +7454,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7320,6 +7467,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7937,12 +8085,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_mre_f7.ini b/firmware/tunerstudio/generated/fome_mre_f7.ini index 8582752a43..b55b96ba34 100644 --- a/firmware/tunerstudio/generated/fome_mre_f7.ini +++ b/firmware/tunerstudio/generated/fome_mre_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.mre_f7.495482079" + signature = "rusEFI (FOME) master.2023.11.04.mre_f7.1147764435" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.mre_f7.495482079" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.mre_f7.1147764435" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",53="10 - Ignition 2",52="11 - Ignition 3",51="12 - Ignition 4",56="13 - GP Out 6",57="14 - GP Out 5",6="28 - AN volt 10, Aux Reuse",172="3 - Lowside 2",38="32 - AN volt 6, Aux Reuse",190="33 - GP Out 3",189="34 - GP Out 2",188="35 - GP Out 1",18="36 - AN volt 8, Aux Reuse",168="37 - Injector 1",169="38 - Injector 2",19="40 - AN volt 9, Aux Reuse",170="41 - Injector 3",171="42 - Injector 4",191="43 - GP Out 4",173="7 - Lowside 1",54="9 - Ignition 1",72="AUX J10 PE6",71="AUX J11 PE5",29="AUX J12",28="AUX J13",25="AUX J18 PB7",17="AUX J2 PA15",26="AUX J2 PB8",27="AUX J2 PB9",46="AUX J2 PC12",66="AUX J6" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",1="18 - AN temp 1",13="19 - AN volt 4",14="20 - AN volt 5",4="22 - AN temp 4",2="23 - AN temp 2",3="24 - AN temp 3",7="26 - AN volt 2",11="27 - AN volt 1",5="28 - AN volt 10, Aux Reuse",16="30 - AN volt 7",8="31 - AN volt 3",15="32 - AN volt 6, Aux Reuse",9="36 - AN volt 8, Aux Reuse",10="40 - AN volt 9, Aux Reuse",12="Battery Sense" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",1="18 - AN temp 1",13="19 - AN volt 4",14="20 - AN volt 5",4="22 - AN temp 4",2="23 - AN temp 2",3="24 - AN temp 3",7="26 - AN volt 2",11="27 - AN volt 1",5="28 - AN volt 10, Aux Reuse",16="30 - AN volt 7",8="31 - AN volt 3",15="32 - AN volt 6, Aux Reuse",9="36 - AN volt 8, Aux Reuse",10="40 - AN volt 9, Aux Reuse",12="Battery Sense" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",1="18 - AN temp 1",13="19 - AN volt 4",14="20 - AN volt 5",4="22 - AN temp 4",2="23 - AN temp 2",3="24 - AN temp 3",7="26 - AN volt 2",11="27 - AN volt 1",5="28 - AN volt 10, Aux Reuse",16="30 - AN volt 7",8="31 - AN volt 3",15="32 - AN volt 6, Aux Reuse",9="36 - AN volt 8, Aux Reuse",10="40 - AN volt 9, Aux Reuse",12="Battery Sense" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",1="18 - AN temp 1",13="19 - AN volt 4",14="20 - AN volt 5",4="22 - AN temp 4",2="23 - AN temp 2",3="24 - AN temp 3",7="26 - AN volt 2",11="27 - AN volt 1",5="28 - AN volt 10, Aux Reuse",16="30 - AN volt 7",8="31 - AN volt 3",15="32 - AN volt 6, Aux Reuse",9="36 - AN volt 8, Aux Reuse",10="40 - AN volt 9, Aux Reuse",12="Battery Sense" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",1="18 - AN temp 1",13="19 - AN volt 4",14="20 - AN volt 5",4="22 - AN temp 4",2="23 - AN temp 2",3="24 - AN temp 3",7="26 - AN volt 2",11="27 - AN volt 1",5="28 - AN volt 10, Aux Reuse",16="30 - AN volt 7",8="31 - AN volt 3",15="32 - AN volt 6, Aux Reuse",9="36 - AN volt 8, Aux Reuse",10="40 - AN volt 9, Aux Reuse",12="Battery Sense" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",1="18 - AN temp 1",13="19 - AN volt 4",14="20 - AN volt 5",4="22 - AN temp 4",2="23 - AN temp 2",3="24 - AN temp 3",7="26 - AN volt 2",11="27 - AN volt 1",5="28 - AN volt 10, Aux Reuse",16="30 - AN volt 7",8="31 - AN volt 3",15="32 - AN volt 6, Aux Reuse",9="36 - AN volt 8, Aux Reuse",10="40 - AN volt 9, Aux Reuse",12="Battery Sense" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",1="18 - AN temp 1",13="19 - AN volt 4",14="20 - AN volt 5",4="22 - AN temp 4",2="23 - AN temp 2",3="24 - AN temp 3",7="26 - AN volt 2",11="27 - AN volt 1",5="28 - AN volt 10, Aux Reuse",16="30 - AN volt 7",8="31 - AN volt 3",15="32 - AN volt 6, Aux Reuse",9="36 - AN volt 8, Aux Reuse",10="40 - AN volt 9, Aux Reuse",12="Battery Sense" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",53="10 - Ignition 2",52="11 - Ignition 3",51="12 - Ignition 4",56="13 - GP Out 6",57="14 - GP Out 5",6="28 - AN volt 10, Aux Reuse",172="3 - Lowside 2",38="32 - AN volt 6, Aux Reuse",190="33 - GP Out 3",189="34 - GP Out 2",188="35 - GP Out 1",18="36 - AN volt 8, Aux Reuse",168="37 - Injector 1",169="38 - Injector 2",19="40 - AN volt 9, Aux Reuse",170="41 - Injector 3",171="42 - Injector 4",191="43 - GP Out 4",173="7 - Lowside 1",54="9 - Ignition 1",72="AUX J10 PE6",71="AUX J11 PE5",29="AUX J12",28="AUX J13",25="AUX J18 PB7",17="AUX J2 PA15",26="AUX J2 PB8",27="AUX J2 PB9",46="AUX J2 PC12",66="AUX J6" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4371,7 +4413,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4396,7 +4437,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4413,10 +4453,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4456,18 +4496,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4480,7 +4508,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4659,6 +4686,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4672,6 +4710,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4681,10 +4720,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4849,7 +4901,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4943,14 +4994,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4994,14 +5045,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5153,8 +5204,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = egtInputs, "EGT" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5299,6 +5354,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5394,11 +5454,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5427,6 +5489,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5446,9 +5509,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5700,7 +5780,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5869,6 +5948,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6179,7 +6259,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6189,7 +6270,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6199,7 +6281,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6209,7 +6292,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6259,14 +6343,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6276,14 +6356,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6293,6 +6369,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6401,6 +6533,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6575,8 +6709,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel @@ -6586,8 +6718,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6608,7 +6738,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel @@ -6618,8 +6747,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6640,7 +6767,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6899,7 +7025,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7008,10 +7133,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7140,6 +7270,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7150,6 +7290,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7211,7 +7352,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7312,6 +7454,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7320,6 +7467,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7937,12 +8085,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_prometheus_405.ini b/firmware/tunerstudio/generated/fome_prometheus_405.ini index 249968a0ef..041e960123 100644 --- a/firmware/tunerstudio/generated/fome_prometheus_405.ini +++ b/firmware/tunerstudio/generated/fome_prometheus_405.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.prometheus_405.3398622455" + signature = "rusEFI (FOME) master.2023.11.04.prometheus_405.2473842427" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.prometheus_405.3398622455" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.prometheus_405.2473842427" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +throttleInletPressureChannel = bits, U08, 3736, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5147,8 +5198,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = egtInputs, "EGT" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5291,6 +5346,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5386,11 +5446,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5419,6 +5481,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5438,9 +5501,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5692,7 +5772,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5861,6 +5940,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6171,7 +6251,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6181,7 +6262,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6191,7 +6273,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6201,7 +6284,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6251,14 +6335,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6268,14 +6348,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6285,6 +6361,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6393,6 +6525,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6577,11 +6711,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6589,8 +6721,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6611,10 +6741,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6622,8 +6751,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6644,7 +6771,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6903,7 +7029,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7013,10 +7138,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7145,6 +7275,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7155,6 +7295,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7217,7 +7358,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7324,6 +7466,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7332,6 +7479,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7954,12 +8102,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_prometheus_469.ini b/firmware/tunerstudio/generated/fome_prometheus_469.ini index 5c2ba96178..59708ee1eb 100644 --- a/firmware/tunerstudio/generated/fome_prometheus_469.ini +++ b/firmware/tunerstudio/generated/fome_prometheus_469.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.prometheus_469.3398622455" + signature = "rusEFI (FOME) master.2023.11.04.prometheus_469.2473842427" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.prometheus_469.3398622455" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.prometheus_469.2473842427" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +throttleInletPressureChannel = bits, U08, 3736, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], "Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15", "MC33972_1", "MC33972_2", "MC33972_3", "MC33972_4", "MC33972_5", "MC33972_6", "MC33972_7", "MC33972_8", "MC33972_9", "MC33972_10", "MC33972_11", "MC33972_12", "MC33972_13", "MC33972_14", "MC33972_15", "MC33972_16", "MC33972_17", "MC33972_18", "MC33972_19", "MC33972_20", "MC33972_21", "MC33972_22", "TLE8888_1", "TLE8888_2", "TLE8888_3", "TLE8888_4", "TLE8888_5", "TLE8888_6", "TLE8888_7", "TLE8888_8", "TLE8888_9", "TLE8888_10", "TLE8888_11", "TLE8888_12", "TLE8888_13", "TLE8888_14", "TLE8888_15", "TLE8888_16", "TLE8888_17", "TLE8888_18", "TLE8888_19", "TLE8888_20", "TLE8888_21", "TLE8888_22", "TLE8888_23", "TLE8888_24", "TLE8888_25", "TLE8888_26", "TLE8888_27", "TLE8888_28", "INVALID", "INVALID", "INVALID", "TLE6240_1", "TLE6240_2", "TLE6240_3", "TLE6240_4", "TLE6240_5", "TLE6240_6", "TLE6240_7", "TLE6240_8", "TLE6240_9", "TLE6240_10", "TLE6240_11", "TLE6240_12", "TLE6240_13", "TLE6240_14", "TLE6240_15", "TLE6240_16" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5147,8 +5198,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = egtInputs, "EGT" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5291,6 +5346,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5386,11 +5446,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5419,6 +5481,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5438,9 +5501,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5692,7 +5772,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5861,6 +5940,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6171,7 +6251,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6181,7 +6262,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6191,7 +6273,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6201,7 +6284,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6251,14 +6335,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6268,14 +6348,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6285,6 +6361,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6393,6 +6525,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6577,11 +6711,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6589,8 +6721,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6611,10 +6741,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6622,8 +6751,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6644,7 +6771,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6903,7 +7029,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7013,10 +7138,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7145,6 +7275,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7155,6 +7295,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7217,7 +7358,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7324,6 +7466,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7332,6 +7479,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7954,12 +8102,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_proteus_f4.ini b/firmware/tunerstudio/generated/fome_proteus_f4.ini index 798b478233..97061804ab 100644 --- a/firmware/tunerstudio/generated/fome_proteus_f4.ini +++ b/firmware/tunerstudio/generated/fome_proteus_f4.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.proteus_f4.1798886028" + signature = "rusEFI (FOME) master.2023.11.04.proteus_f4.853137536" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.proteus_f4.1798886028" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.proteus_f4.853137536" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 26820 +pageSize = 26996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",11="Highside 1",10="Highside 2",65="Highside 3",64="Highside 4",54="Ign 1",102="Ign 10",101="Ign 11",100="Ign 12",53="Ign 2",43="Ign 3",42="Ign 4",41="Ign 5",106="Ign 6",105="Ign 7",104="Ign 8",103="Ign 9",57="Lowside 1",24="Lowside 10",25="Lowside 11",26="Lowside 12",27="Lowside 13",66="Lowside 14",67="Lowside 15",68="Lowside 16",107="Lowside 2",108="Lowside 3",109="Lowside 4",110="Lowside 5",111="Lowside 6",112="Lowside 7",22="Lowside 8",23="Lowside 9",60="STM32 PD10",61="STM32 PD11",62="STM32 PD12",63="STM32 PD13",58="STM32 PD8",59="STM32 PD9" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 12000 -cltFuelCorrBins = array, F32, 17304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 17368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 17432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 17496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 17560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 17592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 17624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 17656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 17688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 17752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 17816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 18840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 19864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 19928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 19936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 19944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 20456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 20488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 20520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 20580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 21092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 21124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 21156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 21220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 21236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 21252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 21316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 21332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 21348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 21860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 21892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 21924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 22436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 22468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",11="Highside 1",10="Highside 2",65="Highside 3",64="Highside 4",54="Ign 1",102="Ign 10",101="Ign 11",100="Ign 12",53="Ign 2",43="Ign 3",42="Ign 4",41="Ign 5",106="Ign 6",105="Ign 7",104="Ign 8",103="Ign 9",57="Lowside 1",24="Lowside 10",25="Lowside 11",26="Lowside 12",27="Lowside 13",66="Lowside 14",67="Lowside 15",68="Lowside 16",107="Lowside 2",108="Lowside 3",109="Lowside 4",110="Lowside 5",111="Lowside 6",112="Lowside 7",22="Lowside 8",23="Lowside 9",60="STM32 PD10",61="STM32 PD11",62="STM32 PD12",63="STM32 PD13",58="STM32 PD8",59="STM32 PD9" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 12000 +cltFuelCorrBins = array, F32, 17480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 17544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 17608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 17672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 17736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 17768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 17800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 17832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 17864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 17928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 17992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 19016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 20040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 20104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 20112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 20120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 20632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 20664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 20696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 20756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 21268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 21300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 21332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 21396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 21412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 21428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 21492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 21508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 21524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 22036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 22068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 22100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 22612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 22644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 22500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 22676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 22500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 22676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 22756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 22788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 22820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 23076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 23108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 23140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 23396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 23412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 23428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 23492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 23508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 23524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 23588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 23604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 23620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 23684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 23700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 23716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 23724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 23732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 23748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 23764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 23780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 23796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 23812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 23828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 23844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 23860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 23876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 23892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 23908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 23924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 23932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 23940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 23956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 23972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 23988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 24004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 24020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 24036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 24052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 24068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 24084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 24100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 24116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 24132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 24148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 24156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 24164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 24172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 24180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 24188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 24196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 24204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 24212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 24220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 24228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 24236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 24244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 24252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 24260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 24268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 24276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 24284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 24292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 24328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 24334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 24340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 24376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 24382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 24388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 24420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 24428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 24436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 24468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 24476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 24484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 24612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 24628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 24644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 24646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 24662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 24672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 24800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 24816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 24832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 24834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 24850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 24860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 24988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 25004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 25020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 25022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 25038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 25048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 25176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 25192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 25208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 25210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 25226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 25236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 25364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 25380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 25396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 25398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 25414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 25424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 25552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 25568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 25584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 25586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 25602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 25612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 25740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 25756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 25772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 25774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 25790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 25800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 25928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 25944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 25960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 25962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 25978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 25988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 26012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 26036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 26164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 26180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 26196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 26198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 26214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 26224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 26352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 26368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 26384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 26386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 26402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 26412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 26540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 26556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 26572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 26574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 26590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 26600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 26728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 26744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 26760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 26762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 26778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 26788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 26804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 26820 +lambdaLoadBins = array, U16, 22932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 22964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 22996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 23252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 23284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 23316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 23572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 23588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 23604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 23668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 23684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 23700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 23764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 23780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 23796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 23860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 23876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 23892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 23900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 23908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 23924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 23940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 23956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 23972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 23988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 24004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 24020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 24036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 24052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 24068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 24084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 24100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 24108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 24116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 24132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 24148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 24164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 24180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 24196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 24212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 24228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 24244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 24260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 24276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 24292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 24308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 24324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 24332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 24340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 24348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 24356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 24364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 24372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 24380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 24388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 24396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 24404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 24412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 24420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 24428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 24436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 24444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 24452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 24460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 24468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 24504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 24510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 24516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 24552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 24558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 24564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 24596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 24604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 24612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 24644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 24652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 24660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 24788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 24804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 24820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 24822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 24838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 24848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 24976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 24992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 25008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 25010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 25026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 25036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 25164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 25180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 25196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 25198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 25214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 25224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 25352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 25368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 25384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 25386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 25402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 25412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 25540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 25556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 25572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 25574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 25590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 25600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 25728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 25744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 25760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 25762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 25778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 25788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 25916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 25932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 25948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 25950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 25966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 25976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 26104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 26120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 26136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 26138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 26154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 26164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 26188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 26212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 26340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 26356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 26372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 26374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 26390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 26400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 26528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 26544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 26560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 26562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 26578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 26588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 26716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 26732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 26748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 26750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 26766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 26776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 26904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 26920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 26936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 26938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 26954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 26964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 26980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 26988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 26996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5293,6 +5348,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5388,11 +5448,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5421,6 +5483,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5440,9 +5503,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5694,7 +5774,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5863,6 +5942,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6173,7 +6253,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6183,7 +6264,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6193,7 +6275,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6203,7 +6286,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6253,14 +6337,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6270,14 +6350,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6287,6 +6363,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6395,6 +6527,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6565,8 +6699,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel @@ -6576,8 +6708,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6598,7 +6728,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel @@ -6608,8 +6737,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6630,7 +6757,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6889,7 +7015,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -6999,10 +7124,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7131,6 +7261,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7141,6 +7281,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7202,7 +7343,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7299,6 +7441,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7307,6 +7454,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7798,14 +7946,19 @@ dialog = tcuControls, "Transmission Settings" field = "!Once you send the command, please reconnect to FOME in order to read fresh values" - commandButton = "FOME PnP Miata NA6", cmd_set_engine_type_PROTEUS_MIATA_NA6 + commandButton = "FOME PnP Miata NA6", cmd_set_engine_type_POLYGONUS_MIATA_NA6 + ; commandButton = "FOME PnP Miata NA6 VVT Swap", cmd_set_engine_type_POLYGONUS_MIATA_NA6 + ; commandButton = "FOME PnP Miata 94 ???", cmd_set_engine_type_POLYGONUS_MIATA_NA6 + ; commandButton = "FOME PnP Miata NA8 96", cmd_set_engine_type_POLYGONUS_MIATA_NA6 + commandButton = "FOME PnP Miata NB1", cmd_set_engine_type_POLYGONUS_MIATA_NB1 + commandButton = "FOME PnP Miata NB2 VVT", cmd_set_engine_type_POLYGONUS_MIATA_NB2 + commandButton = "FOME PnP Miata MSM", cmd_set_engine_type_POLYGONUS_MIATA_MSM commandButton = "Proteus M73 v12", cmd_set_engine_type_Proteus_M73 commandButton = "Proteus GDI VAG B6 test", cmd_set_engine_type_PROTEUS_VW_B6 commandButton = "Proteus GM Gen4", cmd_set_engine_type_PROTEUS_GM_LS_4 commandButton = "Proteus Miata TCU", cmd_set_engine_type_Proteus_Miata_TCU commandButton = "Proteus Lua Demo", cmd_set_engine_type_PROTEUS_LUA_DEMO - commandButton = "Proteus Miata NB2", cmd_set_engine_type_PROTEUS_MIATA_NB2 commandButton = "Proteus Honda K", cmd_set_engine_type_PROTEUS_HONDA_K commandButton = "Proteus Honda OBD2A", cmd_set_engine_type_PROTEUS_HONDA_OBD2A commandButton = "Proteus Harley", cmd_set_engine_type_PROTEUS_HARLEY @@ -7931,12 +8084,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_proteus_f7.ini b/firmware/tunerstudio/generated/fome_proteus_f7.ini index 6db6f16e81..6289879443 100644 --- a/firmware/tunerstudio/generated/fome_proteus_f7.ini +++ b/firmware/tunerstudio/generated/fome_proteus_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.proteus_f7.1798886028" + signature = "rusEFI (FOME) master.2023.11.04.proteus_f7.853137536" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.proteus_f7.1798886028" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.proteus_f7.853137536" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 26820 +pageSize = 26996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",11="Highside 1",10="Highside 2",65="Highside 3",64="Highside 4",54="Ign 1",102="Ign 10",101="Ign 11",100="Ign 12",53="Ign 2",43="Ign 3",42="Ign 4",41="Ign 5",106="Ign 6",105="Ign 7",104="Ign 8",103="Ign 9",57="Lowside 1",24="Lowside 10",25="Lowside 11",26="Lowside 12",27="Lowside 13",66="Lowside 14",67="Lowside 15",68="Lowside 16",107="Lowside 2",108="Lowside 3",109="Lowside 4",110="Lowside 5",111="Lowside 6",112="Lowside 7",22="Lowside 8",23="Lowside 9",60="STM32 PD10",61="STM32 PD11",62="STM32 PD12",63="STM32 PD13",58="STM32 PD8",59="STM32 PD9" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 12000 -cltFuelCorrBins = array, F32, 17304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 17368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 17432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 17496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 17560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 17592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 17624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 17656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 17688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 17752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 17816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 18840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 19864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 19928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 19936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 19944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 20456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 20488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 20520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 20580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 21092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 21124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 21156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 21220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 21236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 21252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 21316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 21332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 21348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 21860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 21892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 21924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 22436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 22468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",11="Highside 1",10="Highside 2",65="Highside 3",64="Highside 4",54="Ign 1",102="Ign 10",101="Ign 11",100="Ign 12",53="Ign 2",43="Ign 3",42="Ign 4",41="Ign 5",106="Ign 6",105="Ign 7",104="Ign 8",103="Ign 9",57="Lowside 1",24="Lowside 10",25="Lowside 11",26="Lowside 12",27="Lowside 13",66="Lowside 14",67="Lowside 15",68="Lowside 16",107="Lowside 2",108="Lowside 3",109="Lowside 4",110="Lowside 5",111="Lowside 6",112="Lowside 7",22="Lowside 8",23="Lowside 9",60="STM32 PD10",61="STM32 PD11",62="STM32 PD12",63="STM32 PD13",58="STM32 PD8",59="STM32 PD9" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 12000 +cltFuelCorrBins = array, F32, 17480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 17544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 17608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 17672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 17736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 17768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 17800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 17832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 17864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 17928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 17992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 19016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 20040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 20104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 20112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 20120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 20632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 20664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 20696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 20756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 21268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 21300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 21332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 21396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 21412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 21428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 21492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 21508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 21524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 22036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 22068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 22100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 22612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 22644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 22500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 22676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 22500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 22676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 22756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 22788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 22820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 23076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 23108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 23140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 23396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 23412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 23428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 23492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 23508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 23524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 23588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 23604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 23620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 23684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 23700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 23716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 23724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 23732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 23748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 23764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 23780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 23796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 23812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 23828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 23844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 23860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 23876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 23892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 23908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 23924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 23932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 23940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 23956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 23972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 23988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 24004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 24020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 24036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 24052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 24068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 24084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 24100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 24116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 24132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 24148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 24156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 24164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 24172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 24180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 24188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 24196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 24204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 24212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 24220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 24228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 24236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 24244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 24252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 24260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 24268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 24276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 24284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 24292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 24328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 24334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 24340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 24376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 24382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 24388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 24420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 24428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 24436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 24468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 24476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 24484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 24612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 24628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 24644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 24646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 24662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 24672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 24800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 24816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 24832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 24834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 24850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 24860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 24988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 25004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 25020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 25022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 25038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 25048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 25176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 25192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 25208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 25210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 25226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 25236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 25364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 25380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 25396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 25398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 25414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 25424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 25552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 25568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 25584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 25586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 25602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 25612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 25740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 25756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 25772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 25774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 25790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 25800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 25928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 25944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 25960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 25962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 25978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 25988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 26012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 26036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 26164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 26180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 26196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 26198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 26214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 26224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 26352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 26368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 26384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 26386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 26402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 26412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 26540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 26556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 26572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 26574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 26590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 26600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 26728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 26744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 26760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 26762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 26778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 26788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 26804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 26820 +lambdaLoadBins = array, U16, 22932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 22964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 22996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 23252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 23284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 23316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 23572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 23588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 23604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 23668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 23684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 23700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 23764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 23780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 23796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 23860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 23876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 23892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 23900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 23908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 23924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 23940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 23956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 23972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 23988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 24004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 24020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 24036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 24052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 24068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 24084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 24100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 24108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 24116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 24132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 24148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 24164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 24180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 24196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 24212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 24228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 24244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 24260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 24276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 24292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 24308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 24324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 24332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 24340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 24348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 24356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 24364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 24372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 24380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 24388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 24396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 24404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 24412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 24420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 24428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 24436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 24444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 24452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 24460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 24468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 24504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 24510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 24516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 24552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 24558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 24564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 24596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 24604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 24612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 24644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 24652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 24660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 24788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 24804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 24820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 24822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 24838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 24848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 24976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 24992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 25008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 25010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 25026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 25036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 25164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 25180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 25196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 25198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 25214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 25224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 25352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 25368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 25384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 25386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 25402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 25412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 25540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 25556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 25572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 25574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 25590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 25600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 25728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 25744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 25760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 25762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 25778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 25788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 25916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 25932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 25948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 25950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 25966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 25976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 26104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 26120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 26136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 26138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 26154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 26164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 26188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 26212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 26340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 26356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 26372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 26374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 26390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 26400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 26528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 26544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 26560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 26562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 26578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 26588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 26716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 26732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 26748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 26750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 26766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 26776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 26904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 26920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 26936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 26938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 26954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 26964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 26980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 26988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 26996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5293,6 +5348,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5388,11 +5448,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5421,6 +5483,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5440,9 +5503,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5694,7 +5774,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5863,6 +5942,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6173,7 +6253,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6183,7 +6264,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6193,7 +6275,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6203,7 +6286,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6253,14 +6337,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6270,14 +6350,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6287,6 +6363,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6395,6 +6527,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6565,8 +6699,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel @@ -6576,8 +6708,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6598,7 +6728,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel @@ -6608,8 +6737,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6630,7 +6757,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6889,7 +7015,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -6999,10 +7124,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7131,6 +7261,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7141,6 +7281,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7202,7 +7343,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7299,6 +7441,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7307,6 +7454,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7798,14 +7946,19 @@ dialog = tcuControls, "Transmission Settings" field = "!Once you send the command, please reconnect to FOME in order to read fresh values" - commandButton = "FOME PnP Miata NA6", cmd_set_engine_type_PROTEUS_MIATA_NA6 + commandButton = "FOME PnP Miata NA6", cmd_set_engine_type_POLYGONUS_MIATA_NA6 + ; commandButton = "FOME PnP Miata NA6 VVT Swap", cmd_set_engine_type_POLYGONUS_MIATA_NA6 + ; commandButton = "FOME PnP Miata 94 ???", cmd_set_engine_type_POLYGONUS_MIATA_NA6 + ; commandButton = "FOME PnP Miata NA8 96", cmd_set_engine_type_POLYGONUS_MIATA_NA6 + commandButton = "FOME PnP Miata NB1", cmd_set_engine_type_POLYGONUS_MIATA_NB1 + commandButton = "FOME PnP Miata NB2 VVT", cmd_set_engine_type_POLYGONUS_MIATA_NB2 + commandButton = "FOME PnP Miata MSM", cmd_set_engine_type_POLYGONUS_MIATA_MSM commandButton = "Proteus M73 v12", cmd_set_engine_type_Proteus_M73 commandButton = "Proteus GDI VAG B6 test", cmd_set_engine_type_PROTEUS_VW_B6 commandButton = "Proteus GM Gen4", cmd_set_engine_type_PROTEUS_GM_LS_4 commandButton = "Proteus Miata TCU", cmd_set_engine_type_Proteus_Miata_TCU commandButton = "Proteus Lua Demo", cmd_set_engine_type_PROTEUS_LUA_DEMO - commandButton = "Proteus Miata NB2", cmd_set_engine_type_PROTEUS_MIATA_NB2 commandButton = "Proteus Honda K", cmd_set_engine_type_PROTEUS_HONDA_K commandButton = "Proteus Honda OBD2A", cmd_set_engine_type_PROTEUS_HONDA_OBD2A commandButton = "Proteus Harley", cmd_set_engine_type_PROTEUS_HARLEY @@ -7931,12 +8084,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_proteus_h7.ini b/firmware/tunerstudio/generated/fome_proteus_h7.ini index cab6e53e24..d1961ab8f0 100644 --- a/firmware/tunerstudio/generated/fome_proteus_h7.ini +++ b/firmware/tunerstudio/generated/fome_proteus_h7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.proteus_h7.1798886028" + signature = "rusEFI (FOME) master.2023.11.04.proteus_h7.853137536" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.proteus_h7.1798886028" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.proteus_h7.853137536" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 26820 +pageSize = 26996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",11="Highside 1",10="Highside 2",65="Highside 3",64="Highside 4",54="Ign 1",102="Ign 10",101="Ign 11",100="Ign 12",53="Ign 2",43="Ign 3",42="Ign 4",41="Ign 5",106="Ign 6",105="Ign 7",104="Ign 8",103="Ign 9",57="Lowside 1",24="Lowside 10",25="Lowside 11",26="Lowside 12",27="Lowside 13",66="Lowside 14",67="Lowside 15",68="Lowside 16",107="Lowside 2",108="Lowside 3",109="Lowside 4",110="Lowside 5",111="Lowside 6",112="Lowside 7",22="Lowside 8",23="Lowside 9",60="STM32 PD10",61="STM32 PD11",62="STM32 PD12",63="STM32 PD13",58="STM32 PD8",59="STM32 PD9" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 12000 -cltFuelCorrBins = array, F32, 17304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 17368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 17432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 17496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 17560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 17592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 17624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 17656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 17688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 17752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 17816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 18840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 19864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 19928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 19936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 19944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 20456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 20488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 20520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 20580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 21092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 21124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 21156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 21220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 21236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 21252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 21316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 21332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 21348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 21860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 21892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 21924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 22436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 22468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",15="Analog Temp 1",16="Analog Temp 2",9="Analog Temp 3",10="Analog Temp 4",11="Analog Volt 1",6="Analog Volt 10",7="Analog Volt 11",12="Analog Volt 2",13="Analog Volt 3",14="Analog Volt 4",1="Analog Volt 5",2="Analog Volt 6",3="Analog Volt 7",4="Analog Volt 8",5="Analog Volt 9",8="Battery Sense" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",11="Highside 1",10="Highside 2",65="Highside 3",64="Highside 4",54="Ign 1",102="Ign 10",101="Ign 11",100="Ign 12",53="Ign 2",43="Ign 3",42="Ign 4",41="Ign 5",106="Ign 6",105="Ign 7",104="Ign 8",103="Ign 9",57="Lowside 1",24="Lowside 10",25="Lowside 11",26="Lowside 12",27="Lowside 13",66="Lowside 14",67="Lowside 15",68="Lowside 16",107="Lowside 2",108="Lowside 3",109="Lowside 4",110="Lowside 5",111="Lowside 6",112="Lowside 7",22="Lowside 8",23="Lowside 9",60="STM32 PD10",61="STM32 PD11",62="STM32 PD12",63="STM32 PD13",58="STM32 PD8",59="STM32 PD9" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 12000 +cltFuelCorrBins = array, F32, 17480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 17544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 17608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 17672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 17736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 17768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 17800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 17832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 17864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 17928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 17992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 19016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 20040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 20104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 20112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 20120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 20632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 20664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 20696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 20756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 21268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 21300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 21332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 21396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 21412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 21428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 21492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 21508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 21524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 22036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 22068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 22100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 22612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 22644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 22500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 22676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 22500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 22676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 22756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 22788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 22820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 23076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 23108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 23140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 23396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 23412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 23428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 23492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 23508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 23524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 23588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 23604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 23620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 23684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 23700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 23716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 23724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 23732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 23748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 23764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 23780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 23796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 23812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 23828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 23844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 23860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 23876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 23892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 23908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 23924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 23932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 23940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 23956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 23972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 23988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 24004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 24020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 24036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 24052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 24068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 24084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 24100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 24116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 24132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 24148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 24156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 24164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 24172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 24180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 24188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 24196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 24204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 24212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 24220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 24228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 24236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 24244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 24252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 24260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 24268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 24276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 24284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 24292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 24328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 24334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 24340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 24376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 24382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 24388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 24420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 24428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 24436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 24468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 24476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 24484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 24612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 24628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 24644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 24646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 24662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 24672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 24800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 24816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 24832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 24834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 24850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 24860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 24988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 25004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 25020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 25022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 25038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 25048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 25176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 25192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 25208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 25210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 25226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 25236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 25364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 25380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 25396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 25398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 25414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 25424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 25552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 25568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 25584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 25586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 25602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 25612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 25740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 25756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 25772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 25774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 25790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 25800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 25928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 25944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 25960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 25962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 25978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 25988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 26012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 26036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 26164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 26180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 26196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 26198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 26214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 26224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 26352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 26368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 26384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 26386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 26402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 26412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 26540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 26556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 26572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 26574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 26590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 26600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 26728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 26744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 26760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 26762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 26778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 26788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 26804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 26820 +lambdaLoadBins = array, U16, 22932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 22964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 22996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 23252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 23284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 23316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 23572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 23588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 23604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 23668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 23684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 23700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 23764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 23780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 23796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 23860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 23876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 23892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 23900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 23908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 23924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 23940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 23956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 23972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 23988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 24004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 24020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 24036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 24052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 24068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 24084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 24100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 24108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 24116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 24132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 24148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 24164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 24180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 24196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 24212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 24228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 24244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 24260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 24276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 24292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 24308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 24324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 24332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 24340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 24348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 24356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 24364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 24372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 24380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 24388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 24396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 24404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 24412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 24420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 24428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 24436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 24444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 24452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 24460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 24468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 24504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 24510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 24516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 24552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 24558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 24564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 24596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 24604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 24612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 24644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 24652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 24660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 24788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 24804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 24820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 24822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 24838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 24848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 24976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 24992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 25008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 25010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 25026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 25036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 25164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 25180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 25196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 25198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 25214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 25224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 25352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 25368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 25384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 25386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 25402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 25412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 25540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 25556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 25572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 25574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 25590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 25600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 25728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 25744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 25760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 25762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 25778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 25788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 25916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 25932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 25948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 25950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 25966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 25976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 26104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 26120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 26136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 26138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 26154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 26164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 26188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 26212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 26340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 26356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 26372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 26374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 26390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 26400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 26528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 26544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 26560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 26562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 26578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 26588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 26716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 26732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 26748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 26750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 26766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 26776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 26904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 26920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 26936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 26938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 26954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 26964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 26980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 26988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 26996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 26812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5293,6 +5348,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5388,11 +5448,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5421,6 +5483,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5440,9 +5503,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5694,7 +5774,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5863,6 +5942,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6173,7 +6253,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6183,7 +6264,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6193,7 +6275,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6203,7 +6286,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6253,14 +6337,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6270,14 +6350,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6287,6 +6363,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6395,6 +6527,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6565,8 +6699,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel @@ -6576,8 +6708,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6598,7 +6728,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel @@ -6608,8 +6737,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6630,7 +6757,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6889,7 +7015,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -6999,10 +7124,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7131,6 +7261,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7141,6 +7281,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7202,7 +7343,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7299,6 +7441,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7307,6 +7454,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7798,14 +7946,19 @@ dialog = tcuControls, "Transmission Settings" field = "!Once you send the command, please reconnect to FOME in order to read fresh values" - commandButton = "FOME PnP Miata NA6", cmd_set_engine_type_PROTEUS_MIATA_NA6 + commandButton = "FOME PnP Miata NA6", cmd_set_engine_type_POLYGONUS_MIATA_NA6 + ; commandButton = "FOME PnP Miata NA6 VVT Swap", cmd_set_engine_type_POLYGONUS_MIATA_NA6 + ; commandButton = "FOME PnP Miata 94 ???", cmd_set_engine_type_POLYGONUS_MIATA_NA6 + ; commandButton = "FOME PnP Miata NA8 96", cmd_set_engine_type_POLYGONUS_MIATA_NA6 + commandButton = "FOME PnP Miata NB1", cmd_set_engine_type_POLYGONUS_MIATA_NB1 + commandButton = "FOME PnP Miata NB2 VVT", cmd_set_engine_type_POLYGONUS_MIATA_NB2 + commandButton = "FOME PnP Miata MSM", cmd_set_engine_type_POLYGONUS_MIATA_MSM commandButton = "Proteus M73 v12", cmd_set_engine_type_Proteus_M73 commandButton = "Proteus GDI VAG B6 test", cmd_set_engine_type_PROTEUS_VW_B6 commandButton = "Proteus GM Gen4", cmd_set_engine_type_PROTEUS_GM_LS_4 commandButton = "Proteus Miata TCU", cmd_set_engine_type_Proteus_Miata_TCU commandButton = "Proteus Lua Demo", cmd_set_engine_type_PROTEUS_LUA_DEMO - commandButton = "Proteus Miata NB2", cmd_set_engine_type_PROTEUS_MIATA_NB2 commandButton = "Proteus Honda K", cmd_set_engine_type_PROTEUS_HONDA_K commandButton = "Proteus Honda OBD2A", cmd_set_engine_type_PROTEUS_HONDA_OBD2A commandButton = "Proteus Harley", cmd_set_engine_type_PROTEUS_HARLEY @@ -7931,12 +8084,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_small-can-board.ini b/firmware/tunerstudio/generated/fome_small-can-board.ini new file mode 100644 index 0000000000..c4a6bb54e5 --- /dev/null +++ b/firmware/tunerstudio/generated/fome_small-can-board.ini @@ -0,0 +1,8259 @@ +; This is a TunerStudio project for the FOME.tech engine management system +; +; This file has been generated by invoking gen_config.bat. +; The input files are +; rusefi.input the common template +; rusefi_config.txt the project specific file +; +; In TunerStudio some fields have little question mark on the left of the name for additional field tips. +; Those tips are defined in ../integration/rusefi_config.txt +; +; For example +; +; float bias_resistor;Pull-up resistor value on your board;"Ohm" +; here 'bias_resistor' is internal field name and the text between semicolons is what produces the tooltip +; Note that '+' sign is required after first semicolon for tooltop to appear in TunerStudio +; +; +; field = "# blue text" +; field = "! red text" +; field = "normal text" +; +; + +; this should stop TS from looking for the CAN ID in the 2nd byte location and allow the page reads to work correctly. +enable2ndByteCanID = false + +[SettingGroups] + ; the referenceName will over-ride previous, so if you are creating a + ; settingGroup with a reference name of lambdaSensor, it will replace the + ; setting group defined in the settingGroups.xml of the TunerStudio config + ; folder. If is is an undefined referenceName, it will be added. + ; keyword = referenceName, DisplayName + +[MegaTune] + ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 + signature = "rusEFI (FOME) master.2023.11.04.small-can-board.1267404021" + +[TunerStudio] + queryCommand = "S" + versionInfo = "V" ; firmware version for title bar. + signature= "rusEFI (FOME) master.2023.11.04.small-can-board.1267404021" ; 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 + ignoreMissingBitOptions = true + + ; Optimize comms for fast rusEFI ECUs + noCommReadDelay = true; + defaultRuntimeRecordPerSec = 100; + maxUnusedRuntimeRange = 1000; + + ; Set default IP/port to our IP/port + defaultIpAddress = 192.168.10.1; + defaultIpPort = 29000; + +[Constants] +; new packet serial format with CRC + messageEnvelopeFormat = msEnvelope_1.0 + + endianness = little + nPages = 1 + + pageIdentifier = "\x00\x00" + pageReadCommand = "R%2o%2c" + burnCommand = "B" + pageActivate = "P" + pageValueWrite = "W%2o%v" + pageChunkWrite = "C%2o%2c%v" + crc32CheckCommand = "k%2o%2c" + retrieveConfigError = "e" + +;communication settings + pageActivationDelay = 500 ; Milliseconds delay after burn command. See https://sourceforge.net/p/rusefi/tickets/77/ +;e.g. put writeblocks off and add an interwrite delay + writeBlocks = on + interWriteDelay = 10 + blockReadTimeout = 3000; Milliseconds general timeout + + ; delayAfterPortOpen = 500 + + blockingFactor = 750 ; max chunk size +;end communication settings + + ; name = bits, type, offset, bits + ; name = array, type, offset, shape, units, scale, translate, lo, hi, digits + ; name = scalar, type, offset, units, scale, translate, lo, hi, digits + +; CONFIG_DEFINITION_START +pageSize = 39996 +page = 1 +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 +launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 +rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 +engineSnifferRpmThreshold = scalar, U16, 10, "RPM", 1, 0, 0, 30000, 0 +multisparkMaxRpm = scalar, U08, 12, "rpm", 50.0, 0, 0, 3000, 0 +maxAcRpm = scalar, U08, 13, "rpm", 50.0, 0, 0, 10000, 0 +maxAcTps = scalar, U08, 14, "%", 1, 0, 0, 100, 0 +maxAcClt = scalar, U08, 15, "deg C", 1, 0, 0, 150, 0 +knockNoiseRpmBins = array, U16, 16, [16], "RPM", 1, 0, 0, 30000, 0 +multisparkMaxSparkingAngle = scalar, U08, 48, "deg", 1, 0, 0, 60, 0 +multisparkMaxExtraSparkCount = scalar, U08, 49, "count", 1, 0, 1, 5, 0 +ignitionMode = bits, U08, 50, [0:1], "Single Coil", "Individual Coils", "Wasted Spark", "Two Distributors" +canNbcType = bits, U08, 51, [0:4], "None", "FIAT", "VAG", "MAZDA RX8", "BMW", "W202", "BMW E90", "Haltech", "VAG MQB", "Nissan VQ35", "Genesis Coupe", "Honda K", "AiM", "type 13", "type 14" +injector_flow = scalar, F32, 52, "cm3/min", 1, 0, 0, 99999, 2 +injector_battLagCorrBins = array, U16, 56, [8], "volts", 0.01, 0, 0, 20, 2 +injector_battLagCorr = array, U16, 72, [8], "ms", 0.01, 0, 0, 50, 2 +isForcedInduction = bits, U32, 88, [0:0], "false", "true" +useFordRedundantTps = bits, U32, 88, [1:1], "false", "true" +lambdaProtectionEnable = bits, U32, 88, [2:2], "false", "true" +overrideTriggerGaps = bits, U32, 88, [3:3], "false", "true" +enableFan1WithAc = bits, U32, 88, [4:4], "false", "true" +enableFan2WithAc = bits, U32, 88, [5:5], "false", "true" +disableFan1WhenStopped = bits, U32, 88, [6:6], "false", "true" +disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" +enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" +etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" +isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" +useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" +kickStartCranking = bits, U32, 88, [13:13], "false", "true" +useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" +launchControlEnabled = bits, U32, 88, [15:15], "false", "true" +doNotFilterTriggerEdgeNoise = bits, U32, 88, [16:16], "with filter", "without filter" +antiLagEnabled = bits, U32, 88, [17:17], "false", "true" +useRunningMathForCranking = bits, U32, 88, [18:18], "Fixed", "Fuel Map" +useTLE8888_stepper = bits, U32, 88, [19:19], "false", "true" +usescriptTableForCanSniffingFiltering = bits, U32, 88, [20:20], "false", "true" +verboseCan = bits, U32, 88, [21:21], "Do not print", "Print all" +artificialTestMisfire = bits, U32, 88, [22:22], "No thank you", "Danger Mode" +useFordRedundantPps = bits, U32, 88, [23:23], "false", "true" +cltSensorPulldown = bits, U32, 88, [24:24], "false", "true" +iatSensorPulldown = bits, U32, 88, [25:25], "false", "true" +allowIdenticalPps = bits, U32, 88, [26:26], "false", "true" +tpsMin = scalar, S16, 92, "ADC", 1, 0, 0, 1023, 0 +tpsMax = scalar, S16, 94, "ADC", 1, 0, 0, 1023, 0 +tpsErrorDetectionTooLow = scalar, S16, 96, "%", 1, 0, -10, 0, 0 +tpsErrorDetectionTooHigh = scalar, S16, 98, "%", 1, 0, 100, 110, 0 +cranking_baseFuel = scalar, F32, 100, "mg", 1, 0, 0, 500, 1 +cranking_rpm = scalar, S16, 104, "RPM", 1, 0, 0, 3000, 0 +ignitionDwellForCrankingMs = scalar, F32, 108, "ms", 1, 0, 0, 200, 1 +etbRevLimitStart = scalar, U16, 112, "rpm", 1, 0, 0, 15000, 0 +etbRevLimitRange = scalar, U16, 114, "rpm", 1, 0, 0, 2000, 0 +map_samplingAngleBins = array, F32, 116, [8], "", 1, 0, 0, 18000, 2 +map_samplingAngle = array, F32, 148, [8], "deg", 1, 0, -720, 720, 2 +map_samplingWindowBins = array, F32, 180, [8], "", 1, 0, 0, 18000, 2 +map_samplingWindow = array, F32, 212, [8], "deg", 1, 0, -720, 720, 2 +map_sensor_lowValue = scalar, F32, 244, "kpa", 1, 0, -400, 800, 2 +map_sensor_highValue = scalar, F32, 248, "kpa", 1, 0, -400, 800, 2 +map_sensor_type = bits, U08, 252, [0:4], "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "GM 3 Bar", "MPX4100", "Toyota 89420-02010", "MPX4250A", "Bosch 2.5", "Mazda1Bar", "GM 2 Bar", "GM 1 Bar", "MPXH6400" +map_sensor_hwChannel = bits, U08, 253, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +clt_tempC_1 = scalar, S32, 256, "*C", 0.01, 0, -40, 200, 1 +clt_tempC_2 = scalar, S32, 260, "*C", 0.01, 0, -40, 200, 1 +clt_tempC_3 = scalar, S32, 264, "*C", 0.01, 0, -40, 200, 1 +clt_resistance_1 = scalar, U32, 268, "Ohm", 0.01, 0, 0, 200000, 1 +clt_resistance_2 = scalar, U32, 272, "Ohm", 0.01, 0, 0, 200000, 1 +clt_resistance_3 = scalar, U32, 276, "Ohm", 0.01, 0, 0, 200000, 1 +clt_bias_resistor = scalar, U32, 280, "Ohm", 0.1, 0, 0, 200000, 1 +clt_adcChannel = bits, U08, 284, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +iat_tempC_1 = scalar, S32, 288, "*C", 0.01, 0, -40, 200, 1 +iat_tempC_2 = scalar, S32, 292, "*C", 0.01, 0, -40, 200, 1 +iat_tempC_3 = scalar, S32, 296, "*C", 0.01, 0, -40, 200, 1 +iat_resistance_1 = scalar, U32, 300, "Ohm", 0.01, 0, 0, 200000, 1 +iat_resistance_2 = scalar, U32, 304, "Ohm", 0.01, 0, 0, 200000, 1 +iat_resistance_3 = scalar, U32, 308, "Ohm", 0.01, 0, 0, 200000, 1 +iat_bias_resistor = scalar, U32, 312, "Ohm", 0.1, 0, 0, 200000, 1 +iat_adcChannel = bits, U08, 316, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +launchTimingRetard = scalar, S32, 320, "deg", 1, 0, -180, 180, 2 +knockBandCustom = scalar, F32, 324, "kHz", 1, 0, 0, 20, 2 +displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 +triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 +cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 +firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 +benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 +cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 +fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" +ALSMaxTPS = scalar, U08, 345, "%", 1, 0, 0, 10, 0 +binarySerialTxPin = bits, U16, 346, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +binarySerialRxPin = bits, U16, 348, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +crankingInjectionMode = bits, U08, 350, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +injectionMode = bits, U08, 351, [0:1], "Simultaneous", "Sequential", "Batch", "Single Point" +boostControlMinRpm = scalar, U16, 352, "", 1, 0, 0, 25000, 0 +boostControlMinTps = scalar, U08, 354, "", 1, 0, 0, 100, 0 +boostControlMinMap = scalar, U08, 355, "", 1, 0, 0, 250, 0 +timingMode = bits, U08, 356, [0:0], "dynamic", "fixed" +mafAdcChannel = bits, U08, 357, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +benchTestCount = scalar, U16, 358, "", 1, 0, 0, 10000, 0 +crankingTimingAngle = scalar, F32, 360, "deg", 1, 0, -30, 30, 0 +gapTrackingLengthOverride = scalar, S08, 364, "count", 1, 0, 1, 18, 0 +maxIdleVss = scalar, U08, 365, "kph", 1, 0, 0, 100, 0 +minOilPressureAfterStart = scalar, U16, 366, "kPa", 1, 0, 0, 1000, 0 +fixedModeTiming = scalar, F32, 368, "RPM", 1, 0, 0, 3000, 0 +globalTriggerAngleOffset = scalar, F32, 372, "deg btdc", 1, 0, -720, 720, 0 +analogInputDividerCoefficient = scalar, F32, 376, "coef", 1, 0, 0.01, 10, 2 +vbattDividerCoeff = scalar, F32, 380, "coef", 1, 0, 0.01, 99, 2 +fanOnTemperature = scalar, U08, 384, "deg C", 1, 0, 0, 150, 0 +fanOffTemperature = scalar, U08, 385, "deg C", 1, 0, 0, 150, 0 +acrPin = bits, U16, 386, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +driveWheelRevPerKm = scalar, F32, 388, "revs/km", 1, 0, 100, 1000, 1 +canSleepPeriodMs = scalar, S32, 392, "ms", 1, 0, 0, 1000, 2 +byFirmwareVersion = scalar, S32, 396, "index", 1, 0, 0, 300, 0 +tps1_1AdcChannel = bits, U08, 400, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +vbattAdcChannel = bits, U08, 401, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +fuelLevelSensor = bits, U08, 402, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +tps2_1AdcChannel = bits, U08, 403, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +idle_derivativeFilterLoss = scalar, F32, 404, "x", 1, 0, -1000000, 1000000, 4 +trailingSparkAngle = scalar, S32, 408, "angle", 1, 0, 0, 720, 0 +trigger_type = bits, U32, 412, [0:6], "custom toothed wheel", "Ford Aspire", "Dodge Neon 1995", "Miata NA", "Mitsubishi Mess 4", "GM_7X", "Cooper R50", "Mazda SOHC 4", "60/2", "36/1", "Mercedes Two Segment", "Mitsubishi 4G93 11", "EZ30", "INVALID", "Dodge Neon 2003", "Mazda DOHC 1+4", "1+1", "INVALID", "Single Tooth", "Dodge Ram 1+16", "60/2 VW", "Benelli Tre", "Dodge Stratus", "36_2_2_2", "Nissan Primera", "dev 2JZ 3/34 simulator", "Rover K", "GM 24x 5 degree", "Honda CBR 600", "Mitsubishi 4G92/93/94 Cam 29", "Honda CBR 600 custom", "3/1 skipped", "Dodge Neon 2003 crank", "Miata NB", "Mitsubishi 4G63 Cam 34", "INVALID", "Subaru 7+6", "Jeep 18-2-2-2", "12 tooth crank", "Dodge Neon 1995 crank only", "Jeep XJ 4 cyl", "FiatIAQ_P8", "Mazda Z5", "INVALID", "Renix 44-2-2", "Renix 66-2-2-2", "Honda K 12+1", "INVALID", "36/2", "Subaru SVX", "1+16", "Subaru 7 without 6", "INVALID", "TriTach", "GM 60/2/2/2", "Skoda Favorit", "Barra 3+1 Cam", "Kawa KX450F", "Nissan VQ35", "INVALID", "Nissan VQ30", "Nissan QR25", "Mitsubishi 3A92", "Subaru SVX Crank 1", "Subaru SVX Cam VVT", "Ford PIP", "Suzuki G13B", "Honda K 4+1", "Nissan MR18 Crank", "32/2", "36-2-1", "36-2-1-1", "INVALID", "INVALID", "GM 24x 3 degree", "trg75" +trigger_customTotalToothCount = scalar, S32, 416, "number", 1, 0, 1, 300, 0 +trigger_customSkippedToothCount = scalar, S32, 420, "number", 1, 0, 0, 300, 0 +airByRpmTaper = scalar, F32, 424, "%", 1, 0, 0, 50, 1 +boostControlSafeDutyCycle = scalar, U08, 428, "%", 1, 0, 0, 100, 0 +throttlePedalPositionAdcChannel = bits, U08, 429, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +tle6240_csPinMode = bits, U08, 430, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acrRevolutions = scalar, U08, 431, "", 1, 0, 0, 10, 0 +globalFuelCorrection = scalar, F32, 432, "coef", 1, 0, 0, 1000, 2 +adcVcc = scalar, F32, 436, "volts", 1, 0, 0, 6, 3 +mapCamDetectionAnglePosition = scalar, F32, 440, "Deg", 1, 0, 0, 360, 0 +camInputs1 = bits, U16, 444, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +camInputs2 = bits, U16, 446, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +camInputs3 = bits, U16, 448, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +camInputs4 = bits, U16, 450, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +afr_hwChannel = bits, U08, 452, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +afr_hwChannel2 = bits, U08, 453, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +afr_v1 = scalar, U16, 454, "volts", 0.001, 0, 0, 10, 3 +afr_value1 = scalar, U16, 456, "AFR", 0.001, 0, 0, 50, 2 +afr_v2 = scalar, U16, 458, "volts", 0.001, 0, 0, 10, 3 +afr_value2 = scalar, U16, 460, "AFR", 0.001, 0, 0, 50, 2 +tle6240_cs = bits, U16, 464, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +throttlePedalUpPin = bits, U16, 466, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2",93="C4 - Digital Input 3" +baroSensor_lowValue = scalar, F32, 468, "kpa", 1, 0, -400, 800, 2 +baroSensor_highValue = scalar, F32, 472, "kpa", 1, 0, -400, 800, 2 +baroSensor_type = bits, U08, 476, [0:4], "Custom", "DENSO183", "MPX4250", "HONDA3BAR", "NEON_2003", "22012AA090", "GM 3 Bar", "MPX4100", "Toyota 89420-02010", "MPX4250A", "Bosch 2.5", "Mazda1Bar", "GM 2 Bar", "GM 1 Bar", "MPXH6400" +baroSensor_hwChannel = bits, U08, 477, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +idle_solenoidFrequency = scalar, S32, 480, "Hz", 1, 0, 0, 3000, 0 +idle_solenoidPin = bits, U16, 484, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +idle_stepperDirectionPin = bits, U16, 486, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +idle_stepperStepPin = bits, U16, 488, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +idle_solenoidPinMode = bits, U08, 490, [0:1], "default", "default inverted", "open collector", "open collector inverted" +manIdlePosition = scalar, F32, 492, "%", 1, 0, 0, 100, 0 +knockRetardAggression = scalar, U08, 496, "%", 0.1, 0, 0, 20, 1 +knockRetardReapplyRate = scalar, U08, 497, "deg/s", 0.1, 0, 0, 10, 1 +engineSyncCam = bits, S08, 498, [0:1], "Intake First Bank", "Exhaust First Bank", "Intake Second Bank", "Exhaust Second Bank" +vssFilterReciprocal = scalar, U08, 499, "", 1, 0, 2, 200, 0 +vssGearRatio = scalar, U16, 500, "ratio", 0.001, 0, 0, 60, 3 +vssToothCount = scalar, U08, 502, "count", 1, 0, 1, 100, 0 +idleVeOverrideMode = bits, U08, 503, [0:1], "None", "MAP", "TPS" +l9779_cs = bits, U16, 504, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +o2heaterPin = bits, U16, 506, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +injectionPins1 = bits, U16, 508, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +injectionPins2 = bits, U16, 510, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +injectionPins3 = bits, U16, 512, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +injectionPins4 = bits, U16, 514, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +injectionPins5 = bits, U16, 516, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +injectionPins6 = bits, U16, 518, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +injectionPins7 = bits, U16, 520, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +injectionPins8 = bits, U16, 522, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +injectionPins9 = bits, U16, 524, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +injectionPins10 = bits, U16, 526, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +injectionPins11 = bits, U16, 528, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +injectionPins12 = bits, U16, 530, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +ignitionPins1 = bits, U16, 532, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +ignitionPins2 = bits, U16, 534, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +ignitionPins3 = bits, U16, 536, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +ignitionPins4 = bits, U16, 538, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +ignitionPins5 = bits, U16, 540, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +ignitionPins6 = bits, U16, 542, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +ignitionPins7 = bits, U16, 544, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +ignitionPins8 = bits, U16, 546, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +ignitionPins9 = bits, U16, 548, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +ignitionPins10 = bits, U16, 550, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +ignitionPins11 = bits, U16, 552, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +ignitionPins12 = bits, U16, 554, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +injectionPinMode = bits, U08, 556, [0:1], "default", "default inverted", "open collector", "open collector inverted" +ignitionPinMode = bits, U08, 557, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelPumpPin = bits, U16, 558, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +fuelPumpPinMode = bits, U08, 560, [0:1], "default", "default inverted", "open collector", "open collector inverted" +throttlePedalPositionSecondAdcChannel = bits, U08, 561, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +malfunctionIndicatorPin = bits, U16, 562, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +malfunctionIndicatorPinMode = bits, U08, 564, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPinMode = bits, U08, 565, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fanPin = bits, U16, 566, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +clutchDownPin = bits, U16, 568, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2",93="C4 - Digital Input 3" +alternatorControlPin = bits, U16, 570, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +alternatorControlPinMode = bits, U08, 572, [0:1], "default", "default inverted", "open collector", "open collector inverted" +clutchDownPinMode = bits, U08, 573, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +electronicThrottlePin1Mode = bits, U08, 574, [0:1], "default", "default inverted", "open collector", "open collector inverted" +max31855spiDevice = bits, U08, 575, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +debugTriggerSync = bits, U16, 576, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +mc33972_cs = bits, U16, 578, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +mc33972_csPinMode = bits, U08, 580, [0:1], "default", "default inverted", "open collector", "open collector inverted" +auxFastSensor1_adcChannel = bits, U08, 581, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +tps1_2AdcChannel = bits, U08, 582, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +tps2_2AdcChannel = bits, U08, 583, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +fuelLevelValues = array, U08, 584, [8], "%", 1, 0, 0, 100, 0 +idle_antiwindupFreq = scalar, F32, 592, "x", 1, 0, -1000000, 1000000, 4 +triggerInputPins1 = bits, U16, 596, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +triggerInputPins2 = bits, U16, 598, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +mc33_t_min_boost = scalar, U16, 600, "us", 1, 0, 0, 10000, 0 +tachOutputPin = bits, U16, 602, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +tachOutputPinMode = bits, U08, 604, [0:1], "default", "default inverted", "open collector", "open collector inverted" +maf2AdcChannel = bits, U08, 605, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +mainRelayPin = bits, U16, 606, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +sdCardCsPin = bits, U16, 608, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +canTxPin = bits, U16, 610, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +canRxPin = bits, U16, 612, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +throttlePedalUpPinMode = bits, U08, 614, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +acIdleExtraOffset = scalar, U08, 615, "%", 1, 0, 0, 100, 0 +finalGearRatio = scalar, U16, 616, "ratio", 0.01, 0, 0, 10, 2 +tcuInputSpeedSensorPin = bits, U16, 618, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +tcuInputSpeedSensorTeeth = scalar, U08, 620, "", 1, 0, 0, 100, 0 +mainRelayPinMode = bits, U08, 621, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionMin = scalar, U16, 622, "mv", 1, 0, 0, 5000, 0 +wastegatePositionMax = scalar, U16, 624, "mv", 1, 0, 0, 5000, 0 +secondSolenoidPin = bits, U16, 626, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +tunerStudioSerialSpeed = scalar, U32, 628, "BPs", 1, 0, 0, 1000000, 0 +compressionRatio = scalar, F32, 632, "CR", 1, 0, 0, 300, 1 +triggerSimulatorPins1 = bits, U16, 636, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +triggerSimulatorPins2 = bits, U16, 638, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +fordInjectorSmallPulseSlope = scalar, U16, 640, "g/s", 0.001, 0, 0, 65, 3 +lambdaProtectionMinRpm = scalar, U08, 642, "RPM", 100.0, 0, 0, 25000, 0 +lambdaProtectionMinLoad = scalar, U08, 643, "%", 10.0, 0, 0, 1000, 0 +is_enabled_spi_1 = bits, U32, 644, [0:0], "false", "true" +is_enabled_spi_2 = bits, U32, 644, [1:1], "false", "true" +is_enabled_spi_3 = bits, U32, 644, [2:2], "false", "true" +isSdCardEnabled = bits, U32, 644, [3:3], "false", "true" +rusefiVerbose29b = bits, U32, 644, [4:4], "11 bit", "29 bit" +isVerboseAlternator = bits, U32, 644, [5:5], "false", "true" +useStepperIdle = bits, U32, 644, [6:6], "false", "true" +enabledStep1Limiter = bits, U32, 644, [7:7], "false", "true" +verboseTLE8888 = bits, U32, 644, [8:8], "false", "true" +enableVerboseCanTx = bits, U32, 644, [9:9], "false", "true" +etb1configured = bits, U32, 644, [10:10], "false", "true" +etb2configured = bits, U32, 644, [11:11], "false", "true" +measureMapOnlyInOneCylinder = bits, U32, 644, [12:12], "false", "true" +stepperForceParkingEveryRestart = bits, U32, 644, [13:13], "false", "true" +isFasterEngineSpinUpEnabled = bits, U32, 644, [14:14], "false", "true" +coastingFuelCutEnabled = bits, U32, 644, [15:15], "false", "true" +useIacTableForCoasting = bits, U32, 644, [16:16], "false", "true" +useIdleTimingPidControl = bits, U32, 644, [17:17], "false", "true" +disableEtbWhenEngineStopped = bits, U32, 644, [18:18], "false", "true" +is_enabled_spi_4 = bits, U32, 644, [19:19], "false", "true" +pauseEtbControl = bits, U32, 644, [20:20], "false", "true" +alignEngineSnifferAtTDC = bits, U32, 644, [21:21], "false", "true" +enableAemXSeries = bits, U32, 644, [22:22], "false", "true" +logicAnalyzerPins1 = bits, U16, 648, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +logicAnalyzerPins2 = bits, U16, 650, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +logicAnalyzerPins3 = bits, U16, 652, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +logicAnalyzerPins4 = bits, U16, 654, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +verboseCanBaseAddress = scalar, U32, 656, "", 1, 0, 0, 536870911, 0 +mc33_hvolt = scalar, U08, 660, "v", 1, 0, 40, 70, 0 +minimumBoostClosedLoopMap = scalar, U08, 661, "kPa", 1, 0, 0, 255, 0 +acFanPin = bits, U16, 662, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +acFanPinMode = bits, U08, 664, [0:1], "default", "default inverted", "open collector", "open collector inverted" +l9779spiDevice = bits, U08, 665, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +dwellVoltageCorrVoltBins = array, U08, 666, [8], "volts", 0.1, 0, 0, 20, 1 +dwellVoltageCorrValues = array, U08, 674, [8], "multiplier", 0.02, 0, 0, 5, 2 +vehicleWeight = scalar, U16, 682, "kg", 1, 0, 0, 10000, 0 +idlePidRpmUpperLimit = scalar, S16, 684, "RPM", 1, 0, 0, 500, 0 +applyNonlinearBelowPulse = scalar, U16, 686, "ms", 0.001, 0, 0, 30, 3 +lps25BaroSensorScl = bits, U16, 688, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +lps25BaroSensorSda = bits, U16, 690, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +vehicleSpeedSensorInputPin = bits, U16, 692, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +clutchUpPin = bits, U16, 694, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2",93="C4 - Digital Input 3" +injectorNonlinearMode = bits, U08, 696, [0:1], "None", "Polynomial", "Ford (dual slope)" +clutchUpPinMode = bits, U08, 697, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +max31855_cs1 = bits, U16, 698, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +max31855_cs2 = bits, U16, 700, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +max31855_cs3 = bits, U16, 702, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +max31855_cs4 = bits, U16, 704, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +max31855_cs5 = bits, U16, 706, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +max31855_cs6 = bits, U16, 708, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +max31855_cs7 = bits, U16, 710, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +max31855_cs8 = bits, U16, 712, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +flexSensorPin = bits, U16, 714, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +test557pin = bits, U16, 716, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDirectionPinMode = bits, U08, 718, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33972spiDevice = bits, U08, 719, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioSecondary = scalar, U08, 720, ":1", 0.1, 0, 5, 25, 1 +etbMaximumPosition = scalar, U08, 721, "%", 1, 0, 70, 100, 0 +sdCardLogFrequency = scalar, U16, 722, "hz", 1, 0, 1, 250, 0 +debugMapAveraging = bits, U16, 724, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +starterRelayDisablePin = bits, U16, 726, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +starterRelayDisablePinMode = bits, U08, 728, [0:1], "default", "default inverted", "open collector", "open collector inverted" +imuType = bits, U08, 729, [0:4], "None", "VAG", "MM5.10", "type 3", "type 4" +startStopButtonPin = bits, U16, 730, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2",93="C4 - Digital Input 3" +mapMinBufferLength = scalar, S32, 732, "count", 1, 0, 1, 24, 0 +idlePidDeactivationTpsThreshold = scalar, S16, 736, "%", 1, 0, 0, 50, 0 +stepperParkingExtraSteps = scalar, S16, 738, "%", 1, 0, 0, 3000, 0 +tps1SecondaryMin = scalar, U16, 740, "ADC", 1, 0, 0, 1000, 0 +tps1SecondaryMax = scalar, U16, 742, "ADC", 1, 0, 0, 1000, 0 +antiLagRpmTreshold = scalar, S16, 744, "rpm", 1, 0, 0, 20000, 0 +startCrankingDuration = scalar, U16, 746, "Seconds", 1, 0, 0, 30, 0 +lambdaProtectionMinTps = scalar, U08, 748, "%", 1, 0, 0, 100, 0 +lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 +lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 +acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" +acRelayPin = bits, U16, 752, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 +drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 +scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 +scriptSetting3 = scalar, F32, 764, "", 1, 0, 0, 18000, 2 +scriptSetting4 = scalar, F32, 768, "", 1, 0, 0, 18000, 2 +scriptSetting5 = scalar, F32, 772, "", 1, 0, 0, 18000, 2 +scriptSetting6 = scalar, F32, 776, "", 1, 0, 0, 18000, 2 +scriptSetting7 = scalar, F32, 780, "", 1, 0, 0, 18000, 2 +scriptSetting8 = scalar, F32, 784, "", 1, 0, 0, 18000, 2 +spi1mosiPin = bits, U16, 788, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi1misoPin = bits, U16, 790, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi1sckPin = bits, U16, 792, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi2mosiPin = bits, U16, 794, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi2misoPin = bits, U16, 796, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi2sckPin = bits, U16, 798, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi3mosiPin = bits, U16, 800, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi3misoPin = bits, U16, 802, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +spi3sckPin = bits, U16, 804, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +consoleUartDevice = bits, U08, 806, [0:1], "Off", "UART1", "UART2", "UART3" +sensorChartMode = bits, S08, 807, [0:2], "none", "trigger", "INVALID", "RPM ACCEL", "DETAILED RPM", "Fast Aux1" +clutchUpPinInverted = bits, U32, 808, [0:0], "false", "true" +clutchDownPinInverted = bits, U32, 808, [1:1], "false", "true" +useHbridgesToDriveIdleStepper = bits, U32, 808, [2:2], "false", "true" +multisparkEnable = bits, U32, 808, [3:3], "false", "true" +enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" +enableCanVss = bits, U32, 808, [5:5], "false", "true" +enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" +stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" +enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" +verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" +invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" +knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" +knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" +knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" +knockBankCyl4 = bits, U32, 808, [16:16], "Channel 1", "Channel 2" +knockBankCyl5 = bits, U32, 808, [17:17], "Channel 1", "Channel 2" +knockBankCyl6 = bits, U32, 808, [18:18], "Channel 1", "Channel 2" +knockBankCyl7 = bits, U32, 808, [19:19], "Channel 1", "Channel 2" +knockBankCyl8 = bits, U32, 808, [20:20], "Channel 1", "Channel 2" +knockBankCyl9 = bits, U32, 808, [21:21], "Channel 1", "Channel 2" +knockBankCyl10 = bits, U32, 808, [22:22], "Channel 1", "Channel 2" +knockBankCyl11 = bits, U32, 808, [23:23], "Channel 1", "Channel 2" +knockBankCyl12 = bits, U32, 808, [24:24], "Channel 1", "Channel 2" +tcuEnabled = bits, U32, 808, [25:25], "false", "true" +canBroadcastUseChannelTwo = bits, U32, 808, [26:26], "first", "second" +useRawOutputToDriveIdleStepper = bits, U32, 808, [27:27], "false", "true" +verboseCan2 = bits, U32, 808, [28:28], "Do not print", "Print all" +etbIo1_directionPin1 = bits, U16, 812, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +etbIo1_directionPin2 = bits, U16, 814, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +etbIo1_controlPin = bits, U16, 816, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +etbIo1_disablePin = bits, U16, 818, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +etbIo2_directionPin1 = bits, U16, 820, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +etbIo2_directionPin2 = bits, U16, 822, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +etbIo2_controlPin = bits, U16, 824, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +etbIo2_disablePin = bits, U16, 826, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +boostControlPin = bits, U16, 828, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +boostControlPinMode = bits, U08, 830, [0:1], "default", "default inverted", "open collector", "open collector inverted" +boostType = bits, U08, 831, [0:0], "Open Loop", "Open + Closed Loop" +ALSActivatePin = bits, U16, 832, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2",93="C4 - Digital Input 3" +launchActivatePin = bits, U16, 834, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2",93="C4 - Digital Input 3" +boostPid_pFactor = scalar, F32, 836, "", 1, 0, -10000, 10000, 4 +boostPid_iFactor = scalar, F32, 840, "", 1, 0, -10000, 10000, 4 +boostPid_dFactor = scalar, F32, 844, "", 1, 0, -10000, 10000, 4 +boostPid_offset = scalar, S16, 848, "", 1, 0, -1000, 1000, 0 +boostPid_periodMs = scalar, S16, 850, "ms", 1, 0, 0, 3000, 0 +boostPid_minValue = scalar, S16, 852, "", 1, 0, -30000, 30000, 0 +boostPid_maxValue = scalar, S16, 854, "", 1, 0, -30000, 30000, 0 +boostPwmFrequency = scalar, S32, 856, "Hz", 1, 0, 0, 3000, 0 +launchActivationMode = bits, S08, 860, [0:1], "Launch Button", "Clutch Down Switch", "Always Active(Disabled By Speed)" +antiLagActivationMode = bits, S08, 861, [0:0], "Switch Input", "Always Active" +mc33816_flag0 = bits, U16, 862, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +launchSpeedThreshold = scalar, S32, 864, "Kph", 1, 0, 0, 300, 0 +launchTimingRpmRange = scalar, S32, 868, "RPM", 1, 0, 0, 8000, 0 +launchFuelAdded = scalar, S32, 872, "%", 1, 0, 0, 100, 0 +launchBoostDuty = scalar, S32, 876, "%", 1, 0, 0, 100, 0 +hardCutRpmRange = scalar, S32, 880, "RPM", 1, 0, 0, 3000, 0 +turbochargerFilter = scalar, F32, 884, "", 1, 0, 0, 100, 0 +launchTpsThreshold = scalar, S32, 888, "", 1, 0, 0, 20000, 0 +launchActivateDelay = scalar, F32, 892, "", 1, 0, 0, 20000, 0 +stft_maxIdleRegionRpm = scalar, U08, 896, "RPM", 50.0, 0, 0, 12000, 0 +stft_maxOverrunLoad = scalar, U08, 897, "load", 1, 0, 0, 250, 0 +stft_minPowerLoad = scalar, U08, 898, "load", 1, 0, 0, 250, 0 +stft_deadband = scalar, U08, 899, "%", 0.1, 0, 0, 3, 1 +stft_minClt = scalar, S08, 900, "C", 1, 0, -20, 100, 0 +stft_minAfr = scalar, U08, 901, "afr", 0.1, 0, 10, 20, 1 +stft_maxAfr = scalar, U08, 902, "afr", 0.1, 0, 10, 20, 1 +stft_startupDelay = scalar, U08, 903, "seconds", 1, 0, 0, 250, 0 +stft_cellCfgs1_maxAdd = scalar, S08, 904, "%", 1, 0, 0, 25, 0 +stft_cellCfgs1_maxRemove = scalar, S08, 905, "%", 1, 0, -25, 0, 0 +stft_cellCfgs1_timeConstant = scalar, U16, 906, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs2_maxAdd = scalar, S08, 908, "%", 1, 0, 0, 25, 0 +stft_cellCfgs2_maxRemove = scalar, S08, 909, "%", 1, 0, -25, 0, 0 +stft_cellCfgs2_timeConstant = scalar, U16, 910, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs3_maxAdd = scalar, S08, 912, "%", 1, 0, 0, 25, 0 +stft_cellCfgs3_maxRemove = scalar, S08, 913, "%", 1, 0, -25, 0, 0 +stft_cellCfgs3_timeConstant = scalar, U16, 914, "sec", 0.1, 0, 0.1, 100, 2 +stft_cellCfgs4_maxAdd = scalar, S08, 916, "%", 1, 0, 0, 25, 0 +stft_cellCfgs4_maxRemove = scalar, S08, 917, "%", 1, 0, -25, 0, 0 +stft_cellCfgs4_timeConstant = scalar, U16, 918, "sec", 0.1, 0, 0.1, 100, 2 +stepperDcIo1_directionPin1 = bits, U16, 920, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDcIo1_directionPin2 = bits, U16, 922, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDcIo1_controlPin = bits, U16, 924, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDcIo1_disablePin = bits, U16, 926, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDcIo2_directionPin1 = bits, U16, 928, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDcIo2_directionPin2 = bits, U16, 930, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDcIo2_controlPin = bits, U16, 932, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +stepperDcIo2_disablePin = bits, U16, 934, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +engineMake = string, ASCII, 936, 32 +engineCode = string, ASCII, 968, 32 +vehicleName = string, ASCII, 1000, 32 +tcu_solenoid1 = bits, U16, 1032, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +tcu_solenoid2 = bits, U16, 1034, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +tcu_solenoid3 = bits, U16, 1036, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +tcu_solenoid4 = bits, U16, 1038, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +tcu_solenoid5 = bits, U16, 1040, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +tcu_solenoid6 = bits, U16, 1042, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +etbFunctions1 = bits, U08, 1044, [0:1], "None", "Throttle 1", "Throttle 2", "Wastegate" +etbFunctions2 = bits, U08, 1045, [0:1], "None", "Throttle 1", "Throttle 2", "Wastegate" +drv8860_cs = bits, U16, 1046, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +drv8860_csPinMode = bits, U08, 1048, [0:1], "default", "default inverted", "open collector", "open collector inverted" +idleMode = bits, U08, 1049, [0:0], "Open Loop + Closed Loop", "Open Loop" +drv8860_miso = bits, U16, 1050, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +fuelLevelBins = array, U16, 1052, [8], "volt", 0.001, 0, 0, 5, 3 +luaOutputPins1 = bits, U16, 1068, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +luaOutputPins2 = bits, U16, 1070, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +luaOutputPins3 = bits, U16, 1072, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +luaOutputPins4 = bits, U16, 1074, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +luaOutputPins5 = bits, U16, 1076, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +luaOutputPins6 = bits, U16, 1078, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +luaOutputPins7 = bits, U16, 1080, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +luaOutputPins8 = bits, U16, 1082, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +vvtOffsets1 = scalar, S16, 1084, "value", 0.1, 0, -720, 1000, 1 +vvtOffsets2 = scalar, S16, 1086, "value", 0.1, 0, -720, 1000, 1 +vvtOffsets3 = scalar, S16, 1088, "value", 0.1, 0, -720, 1000, 1 +vvtOffsets4 = scalar, S16, 1090, "value", 0.1, 0, -720, 1000, 1 +vrThreshold1_rpmBins = array, U08, 1092, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold1_values = array, U08, 1098, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold1_pin = bits, U16, 1104, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +vrThreshold2_rpmBins = array, U08, 1108, [6], "rpm", 50.0, 0, 0, 12000, 0 +vrThreshold2_values = array, U08, 1114, [6], "volts", 0.01, 0, 0, 2.5, 2 +vrThreshold2_pin = bits, U16, 1120, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +gpPwmNote1 = string, ASCII, 1124, 16 +gpPwmNote2 = string, ASCII, 1140, 16 +gpPwmNote3 = string, ASCII, 1156, 16 +gpPwmNote4 = string, ASCII, 1172, 16 +tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 +tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 +widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" +fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" +boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" +boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" +yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" +silentTriggerError = bits, U32, 1192, [6:6], "false", "true" +useLinearCltSensor = bits, U32, 1192, [7:7], "false", "true" +canReadEnabled = bits, U32, 1192, [8:8], "false", "true" +canWriteEnabled = bits, U32, 1192, [9:9], "false", "true" +useLinearIatSensor = bits, U32, 1192, [10:10], "false", "true" +boardUse2stepPullDown = bits, U32, 1192, [11:11], "With Pull Up", "With Pull Down" +tachPulseDurationAsDutyCycle = bits, U32, 1192, [12:12], "Constant time", "Duty cycle" +isAlternatorControlEnabled = bits, U32, 1192, [13:13], "false", "true" +invertPrimaryTriggerSignal = bits, U32, 1192, [14:14], "false", "true" +invertSecondaryTriggerSignal = bits, U32, 1192, [15:15], "false", "true" +cutFuelOnHardLimit = bits, U32, 1192, [16:16], "no", "yes" +cutSparkOnHardLimit = bits, U32, 1192, [17:17], "no", "yes" +launchFuelCutEnable = bits, U32, 1192, [18:18], "false", "true" +launchSparkCutEnable = bits, U32, 1192, [19:19], "false", "true" +boardUseCrankPullUp = bits, U32, 1192, [20:20], "VR", "Hall" +boardUseCamPullDown = bits, U32, 1192, [21:21], "With Pull Up", "With Pull Down" +boardUseCamVrPullUp = bits, U32, 1192, [22:22], "VR", "Hall" +boardUseD2PullDown = bits, U32, 1192, [23:23], "With Pull Up", "With Pull Down" +boardUseD3PullDown = bits, U32, 1192, [24:24], "With Pull Up", "With Pull Down" +boardUseD4PullDown = bits, U32, 1192, [25:25], "With Pull Up", "With Pull Down" +boardUseD5PullDown = bits, U32, 1192, [26:26], "With Pull Up", "With Pull Down" +verboseIsoTp = bits, U32, 1192, [27:27], "false", "true" +engineSnifferFocusOnInputs = bits, U32, 1192, [28:28], "false", "true" +launchActivateInverted = bits, U32, 1192, [29:29], "false", "true" +twoStroke = bits, U32, 1192, [30:30], "Four Stroke", "Two Stroke" +skippedWheelOnCam = bits, U32, 1192, [31:31], "On crankshaft", "On camshaft" +acSwitch = bits, U16, 1196, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2",93="C4 - Digital Input 3" +vRefAdcChannel = bits, U08, 1198, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +etbNeutralPosition = scalar, U08, 1199, "%", 1, 0, 0, 100, 0 +isInjectionEnabled = bits, U32, 1200, [0:0], "false", "true" +isIgnitionEnabled = bits, U32, 1200, [1:1], "false", "true" +isCylinderCleanupEnabled = bits, U32, 1200, [2:2], "false", "true" +complexWallModel = bits, U32, 1200, [3:3], "Basic (constants)", "Advanced (tables)" +alwaysInstantRpm = bits, U32, 1200, [4:4], "false", "true" +isMapAveragingEnabled = bits, U32, 1200, [5:5], "false", "true" +overrideCrankingIacSetting = bits, U32, 1200, [6:6], "false", "true" +useSeparateAdvanceForIdle = bits, U32, 1200, [7:7], "false", "true" +isWaveAnalyzerEnabled = bits, U32, 1200, [8:8], "false", "true" +useSeparateVeForIdle = bits, U32, 1200, [9:9], "false", "true" +verboseTriggerSynchDetails = bits, U32, 1200, [10:10], "false", "true" +isManualSpinningMode = bits, U32, 1200, [11:11], "false", "true" +unused1200b12 = bits, U32, 1200, [12:12], "false", "true" +neverInstantRpm = bits, U32, 1200, [13:13], "false", "true" +unused1200b14 = bits, U32, 1200, [14:14], "false", "true" +useFixedBaroCorrFromMap = bits, U32, 1200, [15:15], "false", "true" +useSeparateAdvanceForCranking = bits, U32, 1200, [16:16], "Fixed (auto taper)", "Table" +useAdvanceCorrectionsForCranking = bits, U32, 1200, [17:17], "false", "true" +flexCranking = bits, U32, 1200, [18:18], "false", "true" +useIacPidMultTable = bits, U32, 1200, [19:19], "false", "true" +isBoostControlEnabled = bits, U32, 1200, [20:20], "false", "true" +launchSmoothRetard = bits, U32, 1200, [21:21], "false", "true" +isPhaseSyncRequiredForIgnition = bits, U32, 1200, [22:22], "false", "true" +useCltBasedRpmLimit = bits, U32, 1200, [23:23], "no", "yes" +forceO2Heating = bits, U32, 1200, [24:24], "no", "yes" +invertVvtControlIntake = bits, U32, 1200, [25:25], "advance", "retard" +invertVvtControlExhaust = bits, U32, 1200, [26:26], "advance", "retard" +useBiQuadOnAuxSpeedSensors = bits, U32, 1200, [27:27], "false", "true" +sdTriggerLog = bits, U32, 1200, [28:28], "normal", "trigger" +ALSActivateInverted = bits, U32, 1200, [29:29], "false", "true" +engineChartSize = scalar, U32, 1204, "count", 1, 0, 0, 300, 0 +turboSpeedSensorMultiplier = scalar, F32, 1208, "mult", 1, 0, 0, 7000, 3 +camInputsDebug1 = bits, U16, 1212, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +camInputsDebug2 = bits, U16, 1214, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +camInputsDebug3 = bits, U16, 1216, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +camInputsDebug4 = bits, U16, 1218, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +acIdleRpmBump = scalar, S16, 1220, "RPM", 1, 0, 0, 1000, 0 +warningPeriod = scalar, S16, 1222, "seconds", 1, 0, 0, 60, 0 +knockDetectionWindowStart = scalar, F32, 1224, "angle", 1, 0, -1000, 1000, 2 +knockDetectionWindowEnd = scalar, F32, 1228, "angle", 1, 0, -1000, 1000, 2 +idleStepperReactionTime = scalar, F32, 1232, "ms", 1, 0, 1, 300, 0 +idleStepperTotalSteps = scalar, S32, 1236, "count", 1, 0, 5, 3000, 0 +noAccelAfterHardLimitPeriodSecs = scalar, F32, 1240, "sec", 1, 0, 0, 60, 0 +mapAveragingSchedulingAtIndex = scalar, S32, 1244, "index", 1, 0, 0, 7000, 0 +tachPulseDuractionMs = scalar, F32, 1248, "", 1, 0, 0, 100, 2 +wwaeTau = scalar, F32, 1252, "Seconds", 1, 0, 0, 3, 2 +alternatorControl_pFactor = scalar, F32, 1256, "", 1, 0, -10000, 10000, 4 +alternatorControl_iFactor = scalar, F32, 1260, "", 1, 0, -10000, 10000, 4 +alternatorControl_dFactor = scalar, F32, 1264, "", 1, 0, -10000, 10000, 4 +alternatorControl_offset = scalar, S16, 1268, "", 1, 0, -1000, 1000, 0 +alternatorControl_periodMs = scalar, S16, 1270, "ms", 1, 0, 0, 3000, 0 +alternatorControl_minValue = scalar, S16, 1272, "", 1, 0, -30000, 30000, 0 +alternatorControl_maxValue = scalar, S16, 1274, "", 1, 0, -30000, 30000, 0 +etb_pFactor = scalar, F32, 1276, "", 1, 0, -10000, 10000, 4 +etb_iFactor = scalar, F32, 1280, "", 1, 0, -10000, 10000, 4 +etb_dFactor = scalar, F32, 1284, "", 1, 0, -10000, 10000, 4 +etb_offset = scalar, S16, 1288, "", 1, 0, -1000, 1000, 0 +etb_periodMs = scalar, S16, 1290, "ms", 1, 0, 0, 3000, 0 +etb_minValue = scalar, S16, 1292, "", 1, 0, -30000, 30000, 0 +etb_maxValue = scalar, S16, 1294, "", 1, 0, -30000, 30000, 0 +triggerInputDebugPins1 = bits, U16, 1296, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +triggerInputDebugPins2 = bits, U16, 1298, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +airTaperRpmRange = scalar, S16, 1300, "RPM", 1, 0, 0, 1500, 0 +turboSpeedSensorInputPin = bits, U16, 1302, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +tps2Min = scalar, S16, 1304, "ADC", 1, 0, 0, 1023, 0 +tps2Max = scalar, S16, 1306, "ADC", 1, 0, 0, 1023, 0 +starterControlPin = bits, U16, 1308, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +startStopButtonMode = bits, U08, 1310, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tachPulsePerRev = scalar, U08, 1311, "Pulse", 1, 0, 1, 255, 0 +mapErrorDetectionTooLow = scalar, F32, 1312, "kPa", 1, 0, -100, 100, 2 +mapErrorDetectionTooHigh = scalar, F32, 1316, "kPa", 1, 0, -100, 800, 2 +multisparkSparkDuration = scalar, U16, 1320, "ms", 0.001, 0, 0, 3, 2 +multisparkDwell = scalar, U16, 1322, "ms", 0.001, 0, 0, 3, 2 +idleRpmPid_pFactor = scalar, F32, 1324, "", 1, 0, -10000, 10000, 4 +idleRpmPid_iFactor = scalar, F32, 1328, "", 1, 0, -10000, 10000, 4 +idleRpmPid_dFactor = scalar, F32, 1332, "", 1, 0, -10000, 10000, 4 +idleRpmPid_offset = scalar, S16, 1336, "", 1, 0, -1000, 1000, 0 +idleRpmPid_periodMs = scalar, S16, 1338, "ms", 1, 0, 0, 3000, 0 +idleRpmPid_minValue = scalar, S16, 1340, "", 1, 0, -30000, 30000, 0 +idleRpmPid_maxValue = scalar, S16, 1342, "", 1, 0, -30000, 30000, 0 +wwaeBeta = scalar, F32, 1344, "Fraction", 1, 0, 0, 1, 2 +auxValves1 = bits, U16, 1348, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +auxValves2 = bits, U16, 1350, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +tcuUpshiftButtonPin = bits, U16, 1352, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2",93="C4 - Digital Input 3" +tcuDownshiftButtonPin = bits, U16, 1354, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2",93="C4 - Digital Input 3" +throttlePedalUpVoltage = scalar, F32, 1356, "voltage", 1, 0, -6, 6, 2 +throttlePedalWOTVoltage = scalar, F32, 1360, "voltage", 1, 0, -6, 6, 2 +startUpFuelPumpDuration = scalar, S16, 1364, "seconds", 1, 0, 0, 6000, 0 +idlePidRpmDeadZone = scalar, S16, 1366, "RPM", 1, 0, 0, 800, 0 +targetVBatt = scalar, F32, 1368, "Volts", 1, 0, 0, 30, 1 +alternatorOffAboveTps = scalar, F32, 1372, "%", 1, 0, 0, 200, 2 +afterCrankingIACtaperDuration = scalar, S16, 1376, "cycles", 1, 0, 0, 5000, 0 +iacByTpsTaper = scalar, S16, 1378, "percent", 1, 0, 0, 500, 0 +auxSerialTxPin = bits, U16, 1380, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +auxSerialRxPin = bits, U16, 1382, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +LIS302DLCsPin = bits, U16, 1384, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +tpsAccelLookback = scalar, U08, 1386, "sec", 0.05, 0, 0, 5, 2 +coastingFuelCutVssLow = scalar, U08, 1387, "kph", 1, 0, 0, 255, 0 +coastingFuelCutVssHigh = scalar, U08, 1388, "kph", 1, 0, 0, 255, 0 +noFuelTrimAfterDfcoTime = scalar, U08, 1389, "sec", 0.1, 0, 0, 10, 1 +ignTestOnTime = scalar, U08, 1390, "ms", 0.1, 0, 0, 10, 1 +tpsAccelEnrichmentThreshold = scalar, F32, 1392, "roc", 1, 0, 0, 200, 1 +auxSpeedSensorInputPin1 = bits, U16, 1396, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +auxSpeedSensorInputPin2 = bits, U16, 1398, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +totalGearsCount = scalar, U08, 1400, "", 1, 0, 1, 8, 0 +injectionTimingMode = bits, U08, 1401, [0:1], "End of injection", "Start of injection", "Center of injection" +debugMode = bits, U08, 1402, [0:5], "INVALID", "TPS acceleration enrichment", "INVALID", "Stepper Idle Control", "Engine Load accl enrich", "Trigger Counters", "Soft Spark Cut", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "SD card", "sr5", "Knock", "INVALID", "Electronic Throttle", "Executor", "Bench Test / TS commands", "INVALID", "Analog inputs #1", "INSTANT_RPM", "INVALID", "Status", "INVALID", "INVALID", "MAP", "Metrics", "INVALID", "Ion Sense", "TLE8888", "Analog inputs #2", "Dwell Metric", "INVALID", "INVALID", "Boost Control", "INVALID", "INVALID", "ETB Autotune", "Composite Log", "INVALID", "INVALID", "INVALID", "Dyno_View", "Logic_Analyzer", "INVALID", "TCU", "Lua" +fan1ExtraIdle = scalar, U08, 1403, "%", 1, 0, 0, 100, 0 +uartConsoleSerialSpeed = scalar, U32, 1404, "BPs", 1, 0, 0, 1000000, 0 +tpsDecelEnleanmentThreshold = scalar, F32, 1408, "roc", 1, 0, 0, 200, 1 +tpsDecelEnleanmentMultiplier = scalar, F32, 1412, "coeff", 1, 0, 0, 200, 2 +auxSerialSpeed = scalar, U32, 1416, "BPs", 1, 0, 0, 1000000, 0 +throttlePedalSecondaryUpVoltage = scalar, F32, 1420, "voltage", 1, 0, -6, 6, 2 +throttlePedalSecondaryWOTVoltage = scalar, F32, 1424, "voltage", 1, 0, -6, 6, 2 +canBaudRate = bits, U08, 1428, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +veOverrideMode = bits, U08, 1429, [0:1], "None", "MAP", "TPS" +can2BaudRate = bits, U08, 1430, [0:2], "50kbps", "83.33kbps", "100kbps", "125kbps", "250kbps", "500kbps", "1Mbps" +afrOverrideMode = bits, U08, 1431, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +mc33_hpfp_i_peak = scalar, U08, 1432, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold = scalar, U08, 1433, "A", 0.1, 0, 0, 25, 1 +mc33_hpfp_i_hold_off = scalar, U08, 1434, "us", 1, 0, 0, 255, 0 +mc33_hpfp_max_hold = scalar, U08, 1435, "ms", 1, 0, 0, 255, 0 +stepperDcInvertedPins = bits, U32, 1436, [0:0], "false", "true" +canOpenBLT = bits, U32, 1436, [1:1], "false", "true" +can2OpenBLT = bits, U32, 1436, [2:2], "false", "true" +injectorFlowAsMassFlow = bits, U32, 1436, [3:3], "volumetric flow", "mass flow" +benchTestOffTime = scalar, U08, 1440, "ms", 5.0, 0, 0, 2000, 0 +lambdaProtectionRestoreTps = scalar, U08, 1441, "%", 1, 0, 0, 100, 0 +lambdaProtectionRestoreLoad = scalar, U08, 1442, "%", 10.0, 0, 0, 1000, 0 +launchActivatePinMode = bits, U08, 1443, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +can2TxPin = bits, U16, 1444, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +can2RxPin = bits, U16, 1446, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +starterControlPinMode = bits, U08, 1448, [0:1], "default", "default inverted", "open collector", "open collector inverted" +wastegatePositionSensor = bits, U08, 1449, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +ignOverrideMode = bits, U08, 1450, [0:2], "None", "MAP", "TPS", "Acc Pedal", "Cyl Filling %" +injectorPressureType = bits, U08, 1451, [0:0], "Low", "High" +hpfpValvePin = bits, U16, 1452, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +hpfpValvePinMode = bits, U08, 1454, [0:1], "default", "default inverted", "open collector", "open collector inverted" +accelerometerSpiDevice = bits, U08, 1455, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +boostCutPressure = scalar, F32, 1456, "kPa (absolute)", 1, 0, 0, 1000, 0 +tchargeBins = array, U08, 1460, [16], "kg/h", 5.0, 0, 0, 1200, 0 +tchargeValues = array, U08, 1476, [16], "ratio", 0.01, 0, 0, 1, 2 +fixedTiming = scalar, F32, 1492, "deg", 1, 0, -720, 720, 2 +mapLowValueVoltage = scalar, F32, 1496, "v", 1, 0, 0, 10, 2 +mapHighValueVoltage = scalar, F32, 1500, "v", 1, 0, 0, 10, 2 +egoValueShift = scalar, F32, 1504, "value", 1, 0, -10, 10, 2 +vvtPins1 = bits, U16, 1508, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +vvtPins2 = bits, U16, 1510, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +vvtPins3 = bits, U16, 1512, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +vvtPins4 = bits, U16, 1514, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +crankingIACposition = scalar, S32, 1516, "percent", 1, 0, -100, 100, 0 +tChargeMinRpmMinTps = scalar, F32, 1520, "", 1, 0, 0, 3, 4 +tChargeMinRpmMaxTps = scalar, F32, 1524, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMinTps = scalar, F32, 1528, "", 1, 0, 0, 3, 4 +tChargeMaxRpmMaxTps = scalar, F32, 1532, "", 1, 0, 0, 3, 4 +vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 +minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 +maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 +alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 +primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 +auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +auxAnalogInputs2 = bits, U08, 1549, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +auxAnalogInputs3 = bits, U08, 1550, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +auxAnalogInputs4 = bits, U08, 1551, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +auxAnalogInputs5 = bits, U08, 1552, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +auxAnalogInputs6 = bits, U08, 1553, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +auxAnalogInputs7 = bits, U08, 1554, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +auxAnalogInputs8 = bits, U08, 1555, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +trailingCoilPins1 = bits, U16, 1556, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +trailingCoilPins2 = bits, U16, 1558, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +trailingCoilPins3 = bits, U16, 1560, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +trailingCoilPins4 = bits, U16, 1562, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +trailingCoilPins5 = bits, U16, 1564, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +trailingCoilPins6 = bits, U16, 1566, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +trailingCoilPins7 = bits, U16, 1568, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +trailingCoilPins8 = bits, U16, 1570, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +trailingCoilPins9 = bits, U16, 1572, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +trailingCoilPins10 = bits, U16, 1574, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +trailingCoilPins11 = bits, U16, 1576, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +trailingCoilPins12 = bits, U16, 1578, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +tle8888mode = bits, U08, 1580, [0:1], "Auto", "SemiAuto", "Manual", "Hall" +LIS302DLCsPinMode = bits, U08, 1581, [0:1], "default", "default inverted", "open collector", "open collector inverted" +injectorCompensationMode = bits, U08, 1582, [0:1], "None", "Fixed rail pressure", "Sensed Rail Pressure" +fan2PinMode = bits, U08, 1583, [0:1], "default", "default inverted", "open collector", "open collector inverted" +fuelReferencePressure = scalar, F32, 1584, "kPa", 1, 0, 50, 700000, 0 +postCrankingFactor = scalar, F32, 1588, "mult", 1, 0, 1, 3, 2 +postCrankingDurationSec = scalar, F32, 1592, "seconds", 1, 0, 0, 30, 0 +auxTempSensor1_tempC_1 = scalar, S32, 1596, "*C", 0.01, 0, -40, 200, 1 +auxTempSensor1_tempC_2 = scalar, S32, 1600, "*C", 0.01, 0, -40, 200, 1 +auxTempSensor1_tempC_3 = scalar, S32, 1604, "*C", 0.01, 0, -40, 200, 1 +auxTempSensor1_resistance_1 = scalar, U32, 1608, "Ohm", 0.01, 0, 0, 200000, 1 +auxTempSensor1_resistance_2 = scalar, U32, 1612, "Ohm", 0.01, 0, 0, 200000, 1 +auxTempSensor1_resistance_3 = scalar, U32, 1616, "Ohm", 0.01, 0, 0, 200000, 1 +auxTempSensor1_bias_resistor = scalar, U32, 1620, "Ohm", 0.1, 0, 0, 200000, 1 +auxTempSensor1_adcChannel = bits, U08, 1624, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +auxTempSensor2_tempC_1 = scalar, S32, 1628, "*C", 0.01, 0, -40, 200, 1 +auxTempSensor2_tempC_2 = scalar, S32, 1632, "*C", 0.01, 0, -40, 200, 1 +auxTempSensor2_tempC_3 = scalar, S32, 1636, "*C", 0.01, 0, -40, 200, 1 +auxTempSensor2_resistance_1 = scalar, U32, 1640, "Ohm", 0.01, 0, 0, 200000, 1 +auxTempSensor2_resistance_2 = scalar, U32, 1644, "Ohm", 0.01, 0, 0, 200000, 1 +auxTempSensor2_resistance_3 = scalar, U32, 1648, "Ohm", 0.01, 0, 0, 200000, 1 +auxTempSensor2_bias_resistor = scalar, U32, 1652, "Ohm", 0.1, 0, 0, 200000, 1 +auxTempSensor2_adcChannel = bits, U08, 1656, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +knockSamplingDuration = scalar, S16, 1660, "Deg", 1, 0, 0, 720, 0 +etbFreq = scalar, S16, 1662, "Hz", 1, 0, 0, 3000, 0 +etbWastegatePid_pFactor = scalar, F32, 1664, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_iFactor = scalar, F32, 1668, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_dFactor = scalar, F32, 1672, "", 1, 0, -10000, 10000, 4 +etbWastegatePid_offset = scalar, S16, 1676, "", 1, 0, -1000, 1000, 0 +etbWastegatePid_periodMs = scalar, S16, 1678, "ms", 1, 0, 0, 3000, 0 +etbWastegatePid_minValue = scalar, S16, 1680, "", 1, 0, -30000, 30000, 0 +etbWastegatePid_maxValue = scalar, S16, 1682, "", 1, 0, -30000, 30000, 0 +stepperNumMicroSteps = bits, U08, 1684, [0:3], "Full-Step (Default)", "INVALID", "Half-Step", "INVALID", "1/4 Micro-Step", "INVALID", "INVALID", "INVALID", "1/8 Micro-Step" +stepperMinDutyCycle = scalar, U08, 1685, "%", 1, 0, 0, 100, 0 +stepperMaxDutyCycle = scalar, U08, 1686, "%", 1, 0, 0, 100, 0 +sdCardSpiDevice = bits, U08, 1687, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +timing_offset_cylinder1 = scalar, F32, 1688, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder2 = scalar, F32, 1692, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder3 = scalar, F32, 1696, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder4 = scalar, F32, 1700, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder5 = scalar, F32, 1704, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder6 = scalar, F32, 1708, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder7 = scalar, F32, 1712, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder8 = scalar, F32, 1716, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder9 = scalar, F32, 1720, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder10 = scalar, F32, 1724, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder11 = scalar, F32, 1728, "deg", 1, 0, -720, 720, 1 +timing_offset_cylinder12 = scalar, F32, 1732, "deg", 1, 0, -720, 720, 1 +idlePidActivationTime = scalar, F32, 1736, "seconds", 1, 0, 0, 60, 1 +spi1SckMode = bits, U08, 1740, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi1MosiMode = bits, U08, 1741, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi1MisoMode = bits, U08, 1742, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi2SckMode = bits, U08, 1743, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi2MosiMode = bits, U08, 1744, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi2MisoMode = bits, U08, 1745, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi3SckMode = bits, U08, 1746, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi3MosiMode = bits, U08, 1747, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +spi3MisoMode = bits, U08, 1748, [0:6], "default", "INVALID", "INVALID", "INVALID", "opendrain", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLUP", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "PULLDOWN" +stepperEnablePinMode = bits, U08, 1749, [0:1], "default", "default inverted", "open collector", "open collector inverted" +mc33816_rstb = bits, U16, 1750, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +mc33816_driven = bits, U16, 1752, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +brakePedalPin = bits, U16, 1754, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2",93="C4 - Digital Input 3" +brakePedalPinMode = bits, U08, 1756, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tChargeMode = bits, U08, 1757, [0:1], "RPM+TPS (Default)", "Air Mass Interpolation", "Table" +tcuUpshiftButtonPinMode = bits, U08, 1758, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tcuDownshiftButtonPinMode = bits, U08, 1759, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +auxPid1_pFactor = scalar, F32, 1760, "", 1, 0, -10000, 10000, 4 +auxPid1_iFactor = scalar, F32, 1764, "", 1, 0, -10000, 10000, 4 +auxPid1_dFactor = scalar, F32, 1768, "", 1, 0, -10000, 10000, 4 +auxPid1_offset = scalar, S16, 1772, "", 1, 0, -1000, 1000, 0 +auxPid1_periodMs = scalar, S16, 1774, "ms", 1, 0, 0, 3000, 0 +auxPid1_minValue = scalar, S16, 1776, "", 1, 0, -30000, 30000, 0 +auxPid1_maxValue = scalar, S16, 1778, "", 1, 0, -30000, 30000, 0 +auxPid2_pFactor = scalar, F32, 1780, "", 1, 0, -10000, 10000, 4 +auxPid2_iFactor = scalar, F32, 1784, "", 1, 0, -10000, 10000, 4 +auxPid2_dFactor = scalar, F32, 1788, "", 1, 0, -10000, 10000, 4 +auxPid2_offset = scalar, S16, 1792, "", 1, 0, -1000, 1000, 0 +auxPid2_periodMs = scalar, S16, 1794, "ms", 1, 0, 0, 3000, 0 +auxPid2_minValue = scalar, S16, 1796, "", 1, 0, -30000, 30000, 0 +auxPid2_maxValue = scalar, S16, 1798, "", 1, 0, -30000, 30000, 0 +injectorCorrectionPolynomial1 = scalar, F32, 1800, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial2 = scalar, F32, 1804, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial3 = scalar, F32, 1808, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial4 = scalar, F32, 1812, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial5 = scalar, F32, 1816, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial6 = scalar, F32, 1820, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial7 = scalar, F32, 1824, "", 1, 0, -1000, 1000, 4 +injectorCorrectionPolynomial8 = scalar, F32, 1828, "", 1, 0, -1000, 1000, 4 +primeBins = array, S08, 1832, [8], "C", 1, 0, -40, 120, 0 +oilPressure_hwChannel = bits, U08, 1840, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +oilPressure_v1 = scalar, F32, 1844, "volts", 1, 0, 0, 10, 2 +oilPressure_value1 = scalar, F32, 1848, "kPa", 1, 0, 0, 1000000, 2 +oilPressure_v2 = scalar, F32, 1852, "volts", 1, 0, 0, 10, 2 +oilPressure_value2 = scalar, F32, 1856, "kPa", 1, 0, 0, 1000000, 2 +fan2Pin = bits, U16, 1860, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +fan2OnTemperature = scalar, U08, 1862, "deg C", 1, 0, 0, 150, 0 +fan2OffTemperature = scalar, U08, 1863, "deg C", 1, 0, 0, 150, 0 +stepperEnablePin = bits, U16, 1864, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +tle8888_cs = bits, U16, 1866, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +tle8888_csPinMode = bits, U08, 1868, [0:1], "default", "default inverted", "open collector", "open collector inverted" +canVssNbcType = bits, U08, 1869, [0:0], "BMW_e46", "W202" +mc33816_cs = bits, U16, 1870, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +auxFrequencyFilter = scalar, F32, 1872, "hz", 1, 0, 0, 100, 1 +vvtControlMinRpm = scalar, S16, 1876, "RPM", 1, 0, 0, 3000, 0 +sentInputPins1 = bits, U16, 1878, [0:7], 0="NONE",80="C2 - Digital Input 1",78="C3 - Digital Input 2" +launchFuelAdderPercent = scalar, S08, 1880, "%", 1, 0, 0, 100, 0 +etbJamTimeout = scalar, U08, 1881, "sec", 0.02, 0, 0, 5, 2 +etbExpAverageLength = scalar, U16, 1882, "", 1, 0, 0, 32000, 0 +coastingFuelCutRpmHigh = scalar, S16, 1884, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutRpmLow = scalar, S16, 1886, "rpm", 1, 0, 0, 5000, 0 +coastingFuelCutTps = scalar, S16, 1888, "%", 1, 0, 0, 20, 0 +coastingFuelCutClt = scalar, S16, 1890, "C", 1, 0, -100, 100, 0 +pidExtraForLowRpm = scalar, S16, 1892, "%", 1, 0, 0, 100, 0 +coastingFuelCutMap = scalar, S16, 1894, "kPa", 1, 0, 0, 250, 0 +highPressureFuel_hwChannel = bits, U08, 1896, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +highPressureFuel_v1 = scalar, F32, 1900, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value1 = scalar, F32, 1904, "kPa", 1, 0, 0, 1000000, 2 +highPressureFuel_v2 = scalar, F32, 1908, "volts", 1, 0, 0, 10, 2 +highPressureFuel_value2 = scalar, F32, 1912, "kPa", 1, 0, 0, 1000000, 2 +lowPressureFuel_hwChannel = bits, U08, 1916, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +lowPressureFuel_v1 = scalar, F32, 1920, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value1 = scalar, F32, 1924, "kPa", 1, 0, 0, 1000000, 2 +lowPressureFuel_v2 = scalar, F32, 1928, "volts", 1, 0, 0, 10, 2 +lowPressureFuel_value2 = scalar, F32, 1932, "kPa", 1, 0, 0, 1000000, 2 +cltRevLimitRpmBins = array, S08, 1936, [4], "C", 1, 0, -40, 120, 0 +cltRevLimitRpm = array, U16, 1940, [4], "RPM", 1, 0, 0, 20000, 0 +scriptCurveName1 = string, ASCII, 1948, 16 +scriptCurveName2 = string, ASCII, 1964, 16 +scriptCurveName3 = string, ASCII, 1980, 16 +scriptCurveName4 = string, ASCII, 1996, 16 +scriptCurveName5 = string, ASCII, 2012, 16 +scriptCurveName6 = string, ASCII, 2028, 16 +scriptTableName1 = string, ASCII, 2044, 16 +scriptTableName2 = string, ASCII, 2060, 16 +scriptTableName3 = string, ASCII, 2076, 16 +scriptTableName4 = string, ASCII, 2092, 16 +scriptSettingName1 = string, ASCII, 2108, 16 +scriptSettingName2 = string, ASCII, 2124, 16 +scriptSettingName3 = string, ASCII, 2140, 16 +scriptSettingName4 = string, ASCII, 2156, 16 +scriptSettingName5 = string, ASCII, 2172, 16 +scriptSettingName6 = string, ASCII, 2188, 16 +scriptSettingName7 = string, ASCII, 2204, 16 +scriptSettingName8 = string, ASCII, 2220, 16 +tChargeAirCoefMin = scalar, F32, 2236, "", 1, 0, 0, 1, 3 +tChargeAirCoefMax = scalar, F32, 2240, "", 1, 0, 0, 1, 3 +tChargeAirFlowMax = scalar, F32, 2244, "kg/h", 1, 0, 0, 1000, 1 +tChargeAirIncrLimit = scalar, F32, 2248, "deg/sec", 1, 0, 0, 100, 1 +tChargeAirDecrLimit = scalar, F32, 2252, "deg/sec", 1, 0, 0, 100, 1 +etb_iTermMin = scalar, S16, 2256, "", 1, 0, -30000, 30000, 0 +etb_iTermMax = scalar, S16, 2258, "", 1, 0, -30000, 30000, 0 +idleTimingPid_pFactor = scalar, F32, 2260, "", 1, 0, -10000, 10000, 4 +idleTimingPid_iFactor = scalar, F32, 2264, "", 1, 0, -10000, 10000, 4 +idleTimingPid_dFactor = scalar, F32, 2268, "", 1, 0, -10000, 10000, 4 +idleTimingPid_offset = scalar, S16, 2272, "", 1, 0, -1000, 1000, 0 +idleTimingPid_periodMs = scalar, S16, 2274, "ms", 1, 0, 0, 3000, 0 +idleTimingPid_minValue = scalar, S16, 2276, "", 1, 0, -30000, 30000, 0 +idleTimingPid_maxValue = scalar, S16, 2278, "", 1, 0, -30000, 30000, 0 +etbRocExpAverageLength = scalar, S16, 2280, "", 1, 0, 0, 32000, 0 +tpsAccelFractionPeriod = scalar, S16, 2282, "cycles", 1, 0, 0, 500, 0 +tpsAccelFractionDivisor = scalar, F32, 2284, "coef", 1, 0, 0, 100, 2 +tle8888spiDevice = bits, U08, 2288, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +mc33816spiDevice = bits, U08, 2289, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +idlerpmpid_iTermMin = scalar, S16, 2290, "", 1, 0, -30000, 30000, 0 +tle6240spiDevice = bits, U08, 2292, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" +stoichRatioPrimary = scalar, U08, 2293, ":1", 0.1, 0, 5, 25, 1 +idlerpmpid_iTermMax = scalar, S16, 2294, "", 1, 0, -30000, 30000, 0 +etbIdleThrottleRange = scalar, F32, 2296, "%", 1, 0, 0, 15, 0 +cylinderBankSelect1 = scalar, U08, 2300, "", 1, 1, 1, 2, 0 +cylinderBankSelect2 = scalar, U08, 2301, "", 1, 1, 1, 2, 0 +cylinderBankSelect3 = scalar, U08, 2302, "", 1, 1, 1, 2, 0 +cylinderBankSelect4 = scalar, U08, 2303, "", 1, 1, 1, 2, 0 +cylinderBankSelect5 = scalar, U08, 2304, "", 1, 1, 1, 2, 0 +cylinderBankSelect6 = scalar, U08, 2305, "", 1, 1, 1, 2, 0 +cylinderBankSelect7 = scalar, U08, 2306, "", 1, 1, 1, 2, 0 +cylinderBankSelect8 = scalar, U08, 2307, "", 1, 1, 1, 2, 0 +cylinderBankSelect9 = scalar, U08, 2308, "", 1, 1, 1, 2, 0 +cylinderBankSelect10 = scalar, U08, 2309, "", 1, 1, 1, 2, 0 +cylinderBankSelect11 = scalar, U08, 2310, "", 1, 1, 1, 2, 0 +cylinderBankSelect12 = scalar, U08, 2311, "", 1, 1, 1, 2, 0 +primeValues = array, U08, 2312, [8], "mg", 5.0, 0, 0, 1250, 0 +triggerCompCenterVolt = scalar, U08, 2320, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMin = scalar, U08, 2321, "V", 0.02, 0, 0, 5.1, 2 +triggerCompHystMax = scalar, U08, 2322, "V", 0.02, 0, 0, 5.1, 2 +triggerCompSensorSatRpm = scalar, U08, 2323, "RPM", 50.0, 0, 0, 12000, 0 +gppwm1_pin = bits, U16, 2324, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +gppwm1_dutyIfError = scalar, U08, 2326, "%", 1, 0, 0, 100, 0 +gppwm1_pwmFrequency = scalar, U16, 2328, "hz", 1, 0, 0, 500, 0 +gppwm1_onAboveDuty = scalar, U08, 2330, "%", 1, 0, 0, 100, 0 +gppwm1_offBelowDuty = scalar, U08, 2331, "%", 1, 0, 0, 100, 0 +gppwm1_loadAxis = bits, U08, 2332, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm1_rpmAxis = bits, U08, 2333, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm1_loadBins = array, S16, 2334, [8], "load", 0.1, 0, -1000, 1000, 1 +gppwm1_rpmBins = array, S16, 2350, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm1_table = array, U08, 2366, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm2_pin = bits, U16, 2432, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +gppwm2_dutyIfError = scalar, U08, 2434, "%", 1, 0, 0, 100, 0 +gppwm2_pwmFrequency = scalar, U16, 2436, "hz", 1, 0, 0, 500, 0 +gppwm2_onAboveDuty = scalar, U08, 2438, "%", 1, 0, 0, 100, 0 +gppwm2_offBelowDuty = scalar, U08, 2439, "%", 1, 0, 0, 100, 0 +gppwm2_loadAxis = bits, U08, 2440, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm2_rpmAxis = bits, U08, 2441, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm2_loadBins = array, S16, 2442, [8], "load", 0.1, 0, -1000, 1000, 1 +gppwm2_rpmBins = array, S16, 2458, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm2_table = array, U08, 2474, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm3_pin = bits, U16, 2540, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +gppwm3_dutyIfError = scalar, U08, 2542, "%", 1, 0, 0, 100, 0 +gppwm3_pwmFrequency = scalar, U16, 2544, "hz", 1, 0, 0, 500, 0 +gppwm3_onAboveDuty = scalar, U08, 2546, "%", 1, 0, 0, 100, 0 +gppwm3_offBelowDuty = scalar, U08, 2547, "%", 1, 0, 0, 100, 0 +gppwm3_loadAxis = bits, U08, 2548, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm3_rpmAxis = bits, U08, 2549, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm3_loadBins = array, S16, 2550, [8], "load", 0.1, 0, -1000, 1000, 1 +gppwm3_rpmBins = array, S16, 2566, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm3_table = array, U08, 2582, [8x8], "duty", 0.5, 0, 0, 100, 1 +gppwm4_pin = bits, U16, 2648, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +gppwm4_dutyIfError = scalar, U08, 2650, "%", 1, 0, 0, 100, 0 +gppwm4_pwmFrequency = scalar, U16, 2652, "hz", 1, 0, 0, 500, 0 +gppwm4_onAboveDuty = scalar, U08, 2654, "%", 1, 0, 0, 100, 0 +gppwm4_offBelowDuty = scalar, U08, 2655, "%", 1, 0, 0, 100, 0 +gppwm4_loadAxis = bits, U08, 2656, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm4_rpmAxis = bits, U08, 2657, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +gppwm4_loadBins = array, S16, 2658, [8], "load", 0.1, 0, -1000, 1000, 1 +gppwm4_rpmBins = array, S16, 2674, [8], "RPM", 1, 0, -30000, 30000, 0 +gppwm4_table = array, U08, 2690, [8x8], "duty", 0.5, 0, 0, 100, 1 +mc33_i_boost = scalar, U16, 2756, "mA", 1, 0, 1000, 25000, 0 +mc33_i_peak = scalar, U16, 2758, "mA", 1, 0, 1000, 20000, 0 +mc33_i_hold = scalar, U16, 2760, "mA", 1, 0, 1000, 20000, 0 +mc33_t_max_boost = scalar, U16, 2762, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_off = scalar, U16, 2764, "us", 1, 0, 0, 10000, 0 +mc33_t_peak_tot = scalar, U16, 2766, "us", 1, 0, 0, 10000, 0 +mc33_t_bypass = scalar, U16, 2768, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_off = scalar, U16, 2770, "us", 1, 0, 0, 10000, 0 +mc33_t_hold_tot = scalar, U16, 2772, "us", 1, 0, 0, 10000, 0 +tcu_solenoid_mode1 = bits, U08, 2774, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode2 = bits, U08, 2775, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode3 = bits, U08, 2776, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode4 = bits, U08, 2777, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode5 = bits, U08, 2778, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_solenoid_mode6 = bits, U08, 2779, [0:1], "default", "default inverted", "open collector", "open collector inverted" +knockBaseNoise = array, S08, 2780, [16], "dB", 0.5, 0, -50, 10, 1 +triggerGapOverrideFrom1 = scalar, F32, 2796, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom2 = scalar, F32, 2800, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom3 = scalar, F32, 2804, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom4 = scalar, F32, 2808, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom5 = scalar, F32, 2812, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom6 = scalar, F32, 2816, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom7 = scalar, F32, 2820, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom8 = scalar, F32, 2824, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom9 = scalar, F32, 2828, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom10 = scalar, F32, 2832, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom11 = scalar, F32, 2836, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom12 = scalar, F32, 2840, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom13 = scalar, F32, 2844, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom14 = scalar, F32, 2848, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom15 = scalar, F32, 2852, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom16 = scalar, F32, 2856, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom17 = scalar, F32, 2860, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideFrom18 = scalar, F32, 2864, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo1 = scalar, F32, 2868, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo2 = scalar, F32, 2872, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo3 = scalar, F32, 2876, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo4 = scalar, F32, 2880, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo5 = scalar, F32, 2884, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo6 = scalar, F32, 2888, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo7 = scalar, F32, 2892, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo8 = scalar, F32, 2896, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo9 = scalar, F32, 2900, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo10 = scalar, F32, 2904, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo11 = scalar, F32, 2908, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo12 = scalar, F32, 2912, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo13 = scalar, F32, 2916, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo14 = scalar, F32, 2920, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo15 = scalar, F32, 2924, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo16 = scalar, F32, 2928, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo17 = scalar, F32, 2932, "ratio", 1, 0, 0, 20, 3 +triggerGapOverrideTo18 = scalar, F32, 2936, "ratio", 1, 0, 0, 20, 3 +maxCamPhaseResolveRpm = scalar, U08, 2940, "rpm", 50.0, 0, 0, 12500, 0 +dfcoDelay = scalar, U08, 2941, "sec", 0.1, 0, 0, 10, 1 +acDelay = scalar, U08, 2942, "sec", 0.1, 0, 0, 10, 1 +acSwitchMode = bits, U08, 2943, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +fordInjectorSmallPulseBreakPoint = scalar, U16, 2944, "mg", 0.001, 0, 0, 65, 3 +tpsTspCorrValues = array, U08, 2946, [4], "multiplier", 0.02, 0, 0, 5, 2 +etbJamIntegratorLimit = scalar, U08, 2950, "%", 1, 0, 0, 50, 0 +hpfpCamLobes = scalar, U08, 2951, "lobes/cam", 1, 0, 0, 255, 0 +hpfpCam = bits, U08, 2952, [0:2], "NONE", "Intake 1", "Exhaust 1", "Intake 2", "Exhaust 2" +hpfpPeakPos = scalar, U08, 2953, "deg", 1, 0, 0, 255, 0 +hpfpMinAngle = scalar, U08, 2954, "deg", 1, 0, 0, 255, 0 +vinNumber = string, ASCII, 2955, 17 +hpfpPumpVolume = scalar, U16, 2972, "cc", 0.001, 0, 0, 65, 3 +hpfpActivationAngle = scalar, U08, 2974, "deg", 1, 0, 0, 255, 0 +issFilterReciprocal = scalar, U08, 2975, "", 1, 0, 0, 255, 0 +hpfpPidP = scalar, U16, 2976, "%/kPa", 0.001, 0, 0, 65, 3 +hpfpPidI = scalar, U16, 2978, "%/kPa/lobe", 1.0E-5, 0, 0, 0.65, 5 +hpfpTargetDecay = scalar, U16, 2980, "kPa/s", 1, 0, 0, 65000, 0 +hpfpLobeProfileQuantityBins = array, U08, 2982, [16], "%", 0.5, 0, 0, 100, 1 +hpfpLobeProfileAngle = array, U08, 2998, [16], "deg", 0.5, 0, 0, 125, 1 +hpfpDeadtimeVoltsBins = array, U08, 3014, [8], "volts", 1, 0, 0, 255, 0 +hpfpDeadtimeMS = array, U16, 3022, [8], "ms", 0.001, 0, 0, 65, 3 +hpfpTarget = array, U16, 3038, [10x10], "kPa", 1, 0, 0, 65000, 0 +hpfpTargetLoadBins = array, U16, 3238, [10], "load", 0.1, 0, 0, 6500, 1 +hpfpTargetRpmBins = array, U08, 3258, [10], "RPM", 50.0, 0, 0, 12500, 0 +hpfpCompensation = array, S08, 3268, [10x10], "%", 1, 0, -100, 100, 0 +hpfpCompensationLoadBins = array, U16, 3368, [10], "cc/lobe", 0.001, 0, 0, 65, 3 +hpfpCompensationRpmBins = array, U08, 3388, [10], "RPM", 50.0, 0, 0, 12500, 0 +stepper_raw_output1 = bits, U16, 3398, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +stepper_raw_output2 = bits, U16, 3400, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +stepper_raw_output3 = bits, U16, 3402, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +stepper_raw_output4 = bits, U16, 3404, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +gearRatio1 = scalar, U16, 3406, "ratio", 0.01, 0, 0, 10, 2 +gearRatio2 = scalar, U16, 3408, "ratio", 0.01, 0, 0, 10, 2 +gearRatio3 = scalar, U16, 3410, "ratio", 0.01, 0, 0, 10, 2 +gearRatio4 = scalar, U16, 3412, "ratio", 0.01, 0, 0, 10, 2 +gearRatio5 = scalar, U16, 3414, "ratio", 0.01, 0, 0, 10, 2 +gearRatio6 = scalar, U16, 3416, "ratio", 0.01, 0, 0, 10, 2 +gearRatio7 = scalar, U16, 3418, "ratio", 0.01, 0, 0, 10, 2 +gearRatio8 = scalar, U16, 3420, "ratio", 0.01, 0, 0, 10, 2 +vvtActivationDelayMs = scalar, U16, 3422, "ms", 1, 0, 0, 65000, 0 +wwCltBins = array, S08, 3424, [8], "deg C", 1, 0, -40, 120, 0 +wwTauCltValues = array, U08, 3432, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaCltValues = array, U08, 3440, [8], "", 0.01, 0, 0, 1, 2 +wwMapBins = array, S08, 3448, [8], "kPa", 1, 0, 0, 250, 0 +wwTauMapValues = array, U08, 3456, [8], "", 0.01, 0, 0, 2.5, 2 +wwBetaMapValues = array, U08, 3464, [8], "", 0.01, 0, 0, 2.5, 2 +gearControllerMode = bits, U08, 3472, [0:1], "None", "Button Shift" +transmissionControllerMode = bits, U08, 3473, [0:1], "None", "Simple Transmission", "GM 4L6X" +acrDisablePhase = scalar, U16, 3474, "deg", 1, 0, 0, 720, 0 +auxLinear1_hwChannel = bits, U08, 3476, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +auxLinear1_v1 = scalar, F32, 3480, "volts", 1, 0, 0, 10, 2 +auxLinear1_value1 = scalar, F32, 3484, "kPa", 1, 0, 0, 1000000, 2 +auxLinear1_v2 = scalar, F32, 3488, "volts", 1, 0, 0, 10, 2 +auxLinear1_value2 = scalar, F32, 3492, "kPa", 1, 0, 0, 1000000, 2 +auxLinear2_hwChannel = bits, U08, 3496, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +auxLinear2_v1 = scalar, F32, 3500, "volts", 1, 0, 0, 10, 2 +auxLinear2_value1 = scalar, F32, 3504, "kPa", 1, 0, 0, 1000000, 2 +auxLinear2_v2 = scalar, F32, 3508, "volts", 1, 0, 0, 10, 2 +auxLinear2_value2 = scalar, F32, 3512, "kPa", 1, 0, 0, 1000000, 2 +tcu_tcc_onoff_solenoid = bits, U16, 3516, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +tcu_tcc_onoff_solenoid_mode = bits, U08, 3518, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid_mode = bits, U08, 3519, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_tcc_pwm_solenoid = bits, U16, 3520, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +tcu_tcc_pwm_solenoid_freq = scalar, U16, 3522, "Hz", 1, 0, 0, 3000, 0 +tcu_pc_solenoid_pin = bits, U16, 3524, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +tcu_pc_solenoid_pin_mode = bits, U08, 3526, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_32_solenoid_pin_mode = bits, U08, 3527, [0:1], "default", "default inverted", "open collector", "open collector inverted" +tcu_pc_solenoid_freq = scalar, U16, 3528, "Hz", 1, 0, 0, 3000, 0 +tcu_32_solenoid_pin = bits, U16, 3530, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +tcu_32_solenoid_freq = scalar, U16, 3532, "Hz", 1, 0, 0, 3000, 0 +acrPin2 = bits, U16, 3534, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +etbMinimumPosition = scalar, F32, 3536, "%", 1, 0, 0.01, 100, 2 +tuneHidingKey = scalar, U16, 3540, "", 1, 0, 0, 20000, 0 +sentEtbType = bits, S08, 3542, [0:1], "None", "GM type 1", "Ford type 1" +fuelPressureSensorMode = bits, U08, 3543, [0:1], "Absolute", "Gauge", "Differential", "INVALID" +luaDigitalInputPins1 = bits, U16, 3544, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +luaDigitalInputPins2 = bits, U16, 3546, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +luaDigitalInputPins3 = bits, U16, 3548, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +luaDigitalInputPins4 = bits, U16, 3550, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +luaDigitalInputPins5 = bits, U16, 3552, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +luaDigitalInputPins6 = bits, U16, 3554, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +luaDigitalInputPins7 = bits, U16, 3556, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +luaDigitalInputPins8 = bits, U16, 3558, [0:7], "NONE", "INVALID", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PA8", "PA9", "PA10", "PA11", "PA12", "PA13", "PA14", "PA15", "PB0", "PB1", "PB2", "PB3", "PB4", "PB5", "PB6", "PB7", "PB8", "PB9", "PB10", "PB11", "PB12", "PB13", "PB14", "PB15", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5", "PC6", "PC7", "PC8", "PC9", "PC10", "PC11", "PC12", "PC13", "PC14", "PC15", "PD0", "PD1", "PD2", "PD3", "PD4", "PD5", "PD6", "PD7", "PD8", "PD9", "PD10", "PD11", "PD12", "PD13", "PD14", "PD15", "PE0", "PE1", "PE2", "PE3", "PE4", "PE5", "PE6", "PE7", "PE8", "PE9", "PE10", "PE11", "PE12", "PE13", "PE14", "PE15", "PF0", "PF1", "PF2", "PF3", "PF4", "PF5", "PF6", "PF7", "PF8", "PF9", "PF10", "PF11", "PF12", "PF13", "PF14", "PF15", "PG0", "PG1", "PG2", "PG3", "PG4", "PG5", "PG6", "PG7", "PG8", "PG9", "PG10", "PG11", "PG12", "PG13", "PG14", "PG15", "PH0", "PH1", "PH2", "PH3", "PH4", "PH5", "PH6", "PH7", "PH8", "PH9", "PH10", "PH11", "PH12", "PH13", "PH14", "PH15", "PI0", "PI1", "PI2", "PI3", "PI4", "PI5", "PI6", "PI7", "PI8", "PI9", "PI10", "PI11", "PI12", "PI13", "PI14", "PI15" +tpsTspCorrValuesBins = array, U08, 3560, [4], "RPM", 50.0, 0, 0, 17500, 0 +ALSMinRPM = scalar, S16, 3564, "rpm", 1, 0, 0, 20000, 0 +ALSMaxRPM = scalar, S16, 3566, "rpm", 1, 0, 0, 20000, 0 +ALSMaxDuration = scalar, S16, 3568, "sec", 1, 0, 0, 10, 0 +ALSMinCLT = scalar, S08, 3570, "C", 1, 0, 0, 90, 0 +ALSMaxCLT = scalar, S08, 3571, "C", 1, 0, 0, 105, 0 +alsMinTimeBetween = scalar, U08, 3572, "", 1, 0, 0, 20000, 0 +alsEtbPosition = scalar, U08, 3573, "", 1, 0, 0, 20000, 0 +acRelayAlternatorDutyAdder = scalar, U08, 3574, "%", 1, 0, 0, 100, 0 +instantRpmRange = scalar, U08, 3575, "deg", 1, 0, 0, 250, 0 +ALSIdleAdd = scalar, S32, 3576, "%", 1, 0, 0, 100, 2 +ALSEtbAdd = scalar, S32, 3580, "%", 1, 0, 0, 100, 2 +ALSSkipRatio = scalar, S32, 3584, "", 1, 0, 0.1, 2, 1 +ALSMaxDriverThrottleIntent = scalar, U08, 3588, "%", 1, 0, 0, 10, 0 +ALSActivatePinMode = bits, U08, 3589, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +tpsSecondaryMaximum = scalar, U08, 3590, "%", 0.5, 0, 0, 100, 1 +ppsSecondaryMaximum = scalar, U08, 3591, "%", 0.5, 0, 0, 100, 1 +luaDigitalInputPinModes1 = bits, U08, 3592, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes2 = bits, U08, 3593, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes3 = bits, U08, 3594, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes4 = bits, U08, 3595, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes5 = bits, U08, 3596, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes6 = bits, U08, 3597, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes7 = bits, U08, 3598, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOWN" +rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 +ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 +ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",6="A2 Battery Sense",12="B2 - Analog input",2="B4 - Analog input" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",105="A8 - Low Side",106="B8 - Low Side",42="C1 - Low Side" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 25000 +cltFuelCorrBins = array, F32, 30480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 30544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 30608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 30672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 30736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 30768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 30800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 30832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 30864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 30928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 30992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 32016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 33040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 33104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 33112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 33120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 33632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 33664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 33696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 33756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 34268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 34300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 34332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 34396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 34412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 34428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 34492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 34508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 34524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 35036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 35068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 35100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 35612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 35644, [16], "RPM", 1, 0, 0, 18000, 0 +#if LAMBDA +lambdaTable = array, U08, 35676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +#else +lambdaTable = array, U08, 35676, [16x16], "afr", 0.1, 0, 0, 25, 1 +#endif +lambdaLoadBins = array, U16, 35932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 35964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 35996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 36252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 36284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 36316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 36572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 36588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 36604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 36668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 36684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 36700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 36764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 36780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 36796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 36860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 36876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 36892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 36900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 36908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 36924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 36940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 36956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 36972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 36988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 37004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 37020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 37036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 37052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 37068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 37084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 37100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 37108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 37116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 37132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 37148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 37164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 37180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 37196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 37212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 37228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 37244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 37260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 37276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 37292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 37308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 37324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 37332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 37340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 37348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 37356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 37364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 37372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 37380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 37388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 37396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 37404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 37412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 37420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 37428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 37436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 37444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 37452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 37460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 37468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 37504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 37510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 37516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 37552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 37558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 37564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 37596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 37604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 37612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 37644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 37652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 37660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 37788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 37804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 37820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 37822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 37838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 37848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 37976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 37992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 38008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 38010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 38026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 38036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 38164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 38180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 38196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 38198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 38214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 38224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 38352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 38368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 38384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 38386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 38402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 38412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 38540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 38556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 38572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 38574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 38590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 38600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 38728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 38744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 38760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 38762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 38778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 38788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 38916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 38932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 38948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 38950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 38966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 38976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 39104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 39120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 39136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 39138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 39154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 39164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 39188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 39212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 39340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 39356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 39372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 39374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 39390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 39400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 39528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 39544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 39560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 39562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 39578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 39588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 39716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 39732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 39748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 39750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 39766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 39776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 39904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 39920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 39936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 39938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 39954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 39964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 39980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 39988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 39996 +[SettingContextHelp] + engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" + sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" + launchRpm = "A secondary Rev limit engaged by the driver to help launch the vehicle faster" + engineSnifferRpmThreshold = "Engine sniffer would be disabled above this rpm" + multisparkMaxRpm = "Disable multispark above this engine speed." + maxAcRpm = "Above this RPM, disable AC. Set to 0 to disable check." + maxAcTps = "Above this TPS, disable AC. Set to 0 to disable check." + maxAcClt = "Above this CLT, disable AC to prevent overheating the engine. Set to 0 to disable check." + multisparkMaxSparkingAngle = "This parameter sets the latest that the last multispark can occur after the main ignition event. For example, if the ignition timing is 30 degrees BTDC, and this parameter is set to 45, no multispark will ever be fired after 15 degrees ATDC." + multisparkMaxExtraSparkCount = "Configures the maximum number of extra sparks to fire (does not include main spark)" + ignitionMode = "Single coil = distributor\nIndividual coils = one coil per cylinder (COP, coil-near-plug), requires sequential mode\nWasted spark = Fires pairs of cylinders together, either one coil per pair of cylinders or one coil per cylinder\nTwo distributors = A pair of distributors, found on some BMW, Toyota and other engines" + injector_flow = "This is your injector flow at the fuel pressure used in the vehicle. cc/min, cubic centimetre per minute\nBy the way, g/s = 0.125997881 * (lb/hr)\ng/s = 0.125997881 * (cc/min)/10.5\ng/s = 0.0119997981 * cc/min" + injector_battLagCorr = "ms delay between injector open and close dead times" + isForcedInduction = "Does the vehicle have a turbo or supercharger?" + 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." + disableFan2WhenStopped = "Inhibit operation of this fan while the engine is not running." + enableTrailingSparks = "Enable secondary spark outputs that fire after the primary (rotaries, twin plug engines)." + etb_use_two_wires = "TLE7209 uses two-wire mode. TLE9201 and VNH2SP30 do NOT use two wire mode." + isDoubleSolenoidIdle = "Subaru/BMW style where default valve position is somewhere in the middle. First solenoid opens it more while second can close it more than default position." + useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." + doNotFilterTriggerEdgeNoise = "Detect double trigger edges" + useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" + tpsMax = "Full throttle, 1 volt = 200 units" + tpsErrorDetectionTooLow = "TPS error detection: what throttle % is unrealistically low?\nAlso used for accelerator pedal error detection if so equiped." + tpsErrorDetectionTooHigh = "TPS error detection: what throttle % is unrealistically high?\nAlso used for accelerator pedal error detection if so equiped." + cranking_baseFuel = "Base mass of the per-cylinder fuel injected during cranking. This is then modified by the multipliers for CLT, IAT, TPS ect, to give the final cranking pulse width.\nA reasonable starting point is 60mg per liter per cylinder.\nex: 2 liter 4 cyl = 500cc/cyl, so 30mg cranking fuel." + cranking_rpm = "This sets the RPM limit below which the ECU will use cranking fuel and ignition logic, typically this is around 350-450rpm." + ignitionDwellForCrankingMs = "Dwell duration while cranking" + etbRevLimitStart = "Once engine speed passes this value, start reducing ETB angle." + etbRevLimitRange = "This far above 'Soft limiter start', fully close the throttle. At the bottom of the range, throttle control is normal. At the top of the range, the throttle is fully closed." + map_samplingAngle = "MAP averaging sampling start crank degree angle" + map_samplingWindow = "MAP averaging angle crank degree duration" + map_sensor_lowValue = "kPa value at low volts" + map_sensor_highValue = "kPa value at high volts" + clt_tempC_1 = "these values are in Celcius" + clt_bias_resistor = "Pull-up resistor value on your board" + iat_tempC_1 = "these values are in Celcius" + iat_bias_resistor = "Pull-up resistor value on your board" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" + displacement = "Engine displacement in litres" + cylindersCount = "Number of cylinder the engine has." + benchTestOnTime = "Duration of each test pulse" + cylinderBore = "Cylinder diameter in mm." + fuelAlgorithm = "This setting controls which fuel quantity control algorithm is used.\nAlpha-N means drive by TPS commonly only used for NA engines\nSpeed Density requires MAP sensor and is the default choice for may installs\nMAF air charge is a cylinder filling based method that uses a mass air flow sensor." + crankingInjectionMode = "This is the injection strategy during engine start. See Fuel/Injection settings for more detail. It is suggested to use "Simultaneous"." + injectionMode = "This is where the fuel injection type is defined: "Simultaneous" means all injectors will fire together at once. "Sequential" fires the injectors on a per cylinder basis, which requires individually wired injectors. "Batched" will fire the injectors in groups. If your injectors are individually wired you will also need to enable "Two wire batch emulation"." + boostControlMinRpm = "Minimum RPM to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases." + boostControlMinTps = "Minimum TPS to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases." + boostControlMinMap = "Minimum MAP to enable boost control. Use this to avoid solenoid noise at idle, and help spool in some cases." + timingMode = "Dynamic uses the timing map to decide the ignition timing, Static timing fixes the timing to the value set below (only use for checking static timing with a timing light)." + benchTestCount = "How many test bench pulses do you want" + crankingTimingAngle = "Ignition advance angle used during engine cranking, 5-10 degrees will work as a base setting for most engines.\nThere is tapering towards running timing advance" + gapTrackingLengthOverride = "How many consecutive gap rations have to match expected ranges for sync to happen" + maxIdleVss = "Above this speed, disable closed loop idle control. Set to 0 to disable (allow closed loop idle at any speed)." + minOilPressureAfterStart = "Expected oil pressure after starting the engine. If oil pressure does not reach this level within 5 seconds of engine start, fuel will be cut. Set to 0 to disable and always allow starting." + fixedModeTiming = "This value is the ignition timing used when in 'fixed timing' mode, i.e. constant timing\nThis mode is useful when adjusting distributor location." + globalTriggerAngleOffset = "Angle between Top Dead Center (TDC) and the first trigger event.\nPositive value in case of synchnization point before TDC and negative in case of synchnization point after TDC\n.Knowing this angle allows us to control timing and other angles in reference to TDC." + analogInputDividerCoefficient = "Ratio/coefficient of input voltage dividers on your PCB. For example, use '2' if your board divides 5v into 2.5v. Use '1.66' if your board divides 5v into 3v." + vbattDividerCoeff = "This is the ratio of the resistors for the battery voltage, measure the voltage at the battery and then adjust this number until the gauge matches the reading." + fanOnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" + fanOffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" + driveWheelRevPerKm = "Number of revolutions per kilometer for the wheels your vehicle speed sensor is connected to. Use an online calculator to determine this based on your tire size." + canSleepPeriodMs = "CANbus thread period in ms" + tps1_1AdcChannel = "First throttle body, first sensor" + vbattAdcChannel = "This is the processor input pin that the battery voltage circuit is connected to, if you are unsure of what pin to use, check the schematic that corresponds to your PCB." + fuelLevelSensor = "This is the processor pin that your fuel level sensor in connected to. This is a non standard input so will need to be user defined." + tps2_1AdcChannel = "Second throttle body, first sensor" + idle_derivativeFilterLoss = "0.1 is a good default value" + trailingSparkAngle = "just a temporary solution" + trigger_type = "https://github.com/rusefi/rusefi/wiki/All-Supported-Triggers" + airByRpmTaper = "Extra air taper amount" + boostControlSafeDutyCycle = "Duty cycle to use in case of a sensor failure. This duty cycle should produce the minimum possible amount of boost. This duty is also used in case any of the minimum RPM/TPS/MAP conditions are not met." + throttlePedalPositionAdcChannel = "Throttle pedal position first channel" + camInputs1 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts. 1" + camInputs2 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts. 2" + camInputs3 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts. 3" + camInputs4 = "Camshaft input could be used either just for engine phase detection if your trigger shape does not include cam sensor as 'primary' channel, or it could be used for Variable Valve timing on one of the camshafts. 4" + throttlePedalUpPin = "Throttle Pedal not pressed switch - used on some older vehicles like early Mazda Miata" + baroSensor_lowValue = "kPa value at low volts" + baroSensor_highValue = "kPa value at high volts" + manIdlePosition = "Value between 0 and 100 used in Manual mode" + knockRetardAggression = "Ignition timing to remove when a knock event occurs." + knockRetardReapplyRate = "After a knock event, reapply timing at this rate." + engineSyncCam = "Select which cam is used for engine sync. Other cams will be used only for VVT measurement, but not engine sync." + vssFilterReciprocal = "Set this so your vehicle speed signal is responsive, but not noisy. Larger value give smoother but slower response." + vssGearRatio = "Number of turns of your vehicle speed sensor per turn of the wheels. For example if your sensor is on the transmission output, enter your axle/differential ratio. If you are using a hub-mounted sensor, enter a value of 1.0." + vssToothCount = "Number of pulses output per revolution of the shaft where your VSS is mounted. For example, GM applications of the T56 output 17 pulses per revolution of the transmission output shaft." + idleVeOverrideMode = "Override the Y axis (load) value used for only the Idle VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this." + o2heaterPin = "On-off O2 sensor heater control. 'ON' if engine is running, 'OFF' if stopped or cranking." + injectionPins1 = "injectionPins 1" + injectionPins2 = "injectionPins 2" + injectionPins3 = "injectionPins 3" + injectionPins4 = "injectionPins 4" + injectionPins5 = "injectionPins 5" + injectionPins6 = "injectionPins 6" + injectionPins7 = "injectionPins 7" + injectionPins8 = "injectionPins 8" + injectionPins9 = "injectionPins 9" + injectionPins10 = "injectionPins 10" + injectionPins11 = "injectionPins 11" + injectionPins12 = "injectionPins 12" + ignitionPins1 = "ignitionPins 1" + ignitionPins2 = "ignitionPins 2" + ignitionPins3 = "ignitionPins 3" + ignitionPins4 = "ignitionPins 4" + ignitionPins5 = "ignitionPins 5" + ignitionPins6 = "ignitionPins 6" + ignitionPins7 = "ignitionPins 7" + ignitionPins8 = "ignitionPins 8" + ignitionPins9 = "ignitionPins 9" + ignitionPins10 = "ignitionPins 10" + ignitionPins11 = "ignitionPins 11" + ignitionPins12 = "ignitionPins 12" + throttlePedalPositionSecondAdcChannel = "Throttle pedal, secondary channel." + malfunctionIndicatorPin = "Check engine light, also malfunction indicator light. Always blinks once on boot." + clutchDownPin = "Some cars have a switch to indicate that clutch pedal is all the way down" + auxFastSensor1_adcChannel = "Useful in Research&Development phase" + tps1_2AdcChannel = "First throttle body, second sensor." + tps2_2AdcChannel = "Second throttle body, second sensor." + idle_antiwindupFreq = "0.1 is a good default value" + triggerInputPins1 = "triggerInputPins 1" + triggerInputPins2 = "triggerInputPins 2" + mc33_t_min_boost = "Minimum allowed time for the boost phase. If the boost target current is reached before this time elapses, it is assumed that the injector has failed short circuit." + canTxPin = "set_can_tx_pin X" + canRxPin = "set_can_rx_pin X" + acIdleExtraOffset = "Additional idle % while A/C is active" + finalGearRatio = "Ratio between the wheels and your transmission output." + wastegatePositionMin = "Voltage when the wastegate is closed.\nYou probably don't have one of these!" + wastegatePositionMax = "Voltage when the wastegate is fully open.\nYou probably don't have one of these!\n1 volt = 1000 units" + secondSolenoidPin = "Some Subaru and some Mazda use double-solenoid idle air valve" + tunerStudioSerialSpeed = "Secondary TTL channel baud rate" + compressionRatio = "Just for reference really, not taken into account by any logic at this point" + triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" + triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" + isSdCardEnabled = "enable sd/disable sd" + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." + useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" + measureMapOnlyInOneCylinder = "Useful for individual intakes" + isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." + coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." + useIacTableForCoasting = "Override the IAC position during overrun conditions to help reduce engine breaking, this can be helpful for large engines in light weight cars or engines that have trouble returning to idle." + disableEtbWhenEngineStopped = "Allows disabling the ETB when the engine is stopped. You may not like the power draw or PWM noise from the motor, so this lets you turn it off until it's necessary." + pauseEtbControl = "Disable the electronic throttle motor and DC idle motor for testing.\nThis mode is for testing ETB/DC idle position sensors, etc without actually driving the throttle." + enableAemXSeries = "AEM X-Series or rusEFI Wideband" + logicAnalyzerPins1 = "logicAnalyzerPins 1" + logicAnalyzerPins2 = "logicAnalyzerPins 2" + logicAnalyzerPins3 = "logicAnalyzerPins 3" + logicAnalyzerPins4 = "logicAnalyzerPins 4" + mc33_hvolt = "Boost Voltage" + minimumBoostClosedLoopMap = "Minimum MAP before closed loop boost is enabled. Use to prevent misbehavior upon entering boost." + acFanPin = "Optional Radiator Fan used with A/C" + idlePidRpmUpperLimit = "How far above idle speed do we consider idling?\nFor example, if target = 800, this param = 200, then anything below 1000 RPM is considered idle." + applyNonlinearBelowPulse = "Apply nonlinearity correction below a pulse of this duration. Pulses longer than this duration will receive no adjustment." + clutchUpPin = "Some vehicles have a switch to indicate that clutch pedal is all the way up" + max31855_cs1 = "max31855_cs 1" + max31855_cs2 = "max31855_cs 2" + max31855_cs3 = "max31855_cs 3" + max31855_cs4 = "max31855_cs 4" + max31855_cs5 = "max31855_cs 5" + max31855_cs6 = "max31855_cs 6" + max31855_cs7 = "max31855_cs 7" + max31855_cs8 = "max31855_cs 8" + flexSensorPin = "Continental/GM flex fuel sensor, 50-150hz type" + stoichRatioSecondary = "Stoichiometric ratio for your secondary fuel. This value is used when the Flex Fuel sensor indicates E100, typically 9.0" + etbMaximumPosition = "Maximum allowed ETB position. Some throttles go past fully open, so this allows you to limit it to fully open." + sdCardLogFrequency = "Rate the ECU will log to the SD card, in hz (log lines per second)." + starterRelayDisablePinMode = "On some vehicles we can disable starter once engine is already running" + mapMinBufferLength = "This many MAP samples are used to estimate the current MAP. This many samples are considered, and the minimum taken. Recommended value is 1 for single-throttle engines, and your number of cylinders for individual throttle bodies." + idlePidDeactivationTpsThreshold = "Below this throttle position, the engine is considered idling. If you have an electronic throttle, this checks accelerator pedal position instead of throttle position, and should be set to 1-2%." + startCrankingDuration = "Maximum time to crank starter when start/stop button is pressed" + lambdaProtectionTimeout = "Only respond once lambda is out of range for this period of time. Use to avoid transients triggering lambda protection when not needed" + scriptSetting1 = "scriptSetting 1" + scriptSetting2 = "scriptSetting 2" + scriptSetting3 = "scriptSetting 3" + scriptSetting4 = "scriptSetting 4" + scriptSetting5 = "scriptSetting 5" + scriptSetting6 = "scriptSetting 6" + scriptSetting7 = "scriptSetting 7" + scriptSetting8 = "scriptSetting 8" + sensorChartMode = "rusEFI console Sensor Sniffer mode" + useHbridgesToDriveIdleStepper = "If enabled we use two H-bridges to drive stepper idle air valve" + enableCanVss = "Read VSS from OEM CAN bus according to selected CAN vehicle configuration." + stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." + verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" + invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." + useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" + etbIo1_controlPin = "Acts as EN pin in two-wire mode" + etbIo2_controlPin = "Acts as EN pin in two-wire mode" + boostControlPin = "Wastegate control Solenoid" + boostPid_offset = "Linear addition to PID logic" + boostPid_periodMs = "PID dTime" + boostPid_minValue = "Output Min Duty Cycle" + boostPid_maxValue = "Output Max Duty Cycle" + launchSpeedThreshold = "Disabled above this speed" + launchTimingRpmRange = "Range from Launch RPM for Timing Retard to activate" + launchFuelAdded = "Extra Fuel Added" + launchBoostDuty = "Duty Cycle for the Boost Solenoid" + hardCutRpmRange = "Range from Launch RPM to activate Hard Cut" + stft_maxIdleRegionRpm = "Below this RPM, the idle region is active" + stft_maxOverrunLoad = "Below this engine load, the overrun region is active" + stft_minPowerLoad = "Above this engine load, the power region is active" + stft_deadband = "When close to correct AFR, pause correction. This can improve stability by not changing the adjustment if the error is extremely small, but is not required." + stft_minClt = "Below this temperature, correction is disabled." + stft_minAfr = "Below this AFR, correction is paused" + stft_maxAfr = "Above this AFR, correction is paused" + stft_startupDelay = "Delay after starting the engine before beginning closed loop correction." + stft_cellCfgs1_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." + stft_cellCfgs2_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." + stft_cellCfgs3_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." + stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." + stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" + stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." + tcu_solenoid1 = "tcu_solenoid 1" + tcu_solenoid2 = "tcu_solenoid 2" + tcu_solenoid3 = "tcu_solenoid 3" + tcu_solenoid4 = "tcu_solenoid 4" + tcu_solenoid5 = "tcu_solenoid 5" + tcu_solenoid6 = "tcu_solenoid 6" + etbFunctions1 = "etbFunctions 1" + etbFunctions2 = "etbFunctions 2" + luaOutputPins1 = "luaOutputPins 1" + luaOutputPins2 = "luaOutputPins 2" + luaOutputPins3 = "luaOutputPins 3" + luaOutputPins4 = "luaOutputPins 4" + luaOutputPins5 = "luaOutputPins 5" + luaOutputPins6 = "luaOutputPins 6" + luaOutputPins7 = "luaOutputPins 7" + luaOutputPins8 = "luaOutputPins 8" + vvtOffsets1 = "Angle between cam sensor and VVT zero position 1" + vvtOffsets2 = "Angle between cam sensor and VVT zero position 2" + vvtOffsets3 = "Angle between cam sensor and VVT zero position 3" + vvtOffsets4 = "Angle between cam sensor and VVT zero position 4" + gpPwmNote1 = "gpPwmNote 1" + gpPwmNote2 = "gpPwmNote 2" + gpPwmNote3 = "gpPwmNote 3" + gpPwmNote4 = "gpPwmNote 4" + widebandOnSecondBus = "Select which bus the wideband controller is attached to." + fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." + silentTriggerError = "Sometimes we have a performance issue while printing error" + canReadEnabled = "enable can_read/disable can_read" + canWriteEnabled = "enable can_write/disable can_write" + tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" + isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." + cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." + launchSparkCutEnable = "This is the Cut Mode normally used" + skippedWheelOnCam = "Where is your primary skipped wheel located?" + acSwitch = "A/C button input" + etbNeutralPosition = "Expected neutral position" + isCylinderCleanupEnabled = "When enabled if TPS is held above 95% no fuel is injected while cranking to clear excess fuel from the cylinders." + complexWallModel = "Should we use tables to vary tau/beta based on CLT/MAP, or just with fixed values?" + overrideCrankingIacSetting = "If enabled, use separate temperature multiplier table for cranking idle position.\nIf disabled, use normal running multiplier table applied to the cranking base position." + useSeparateAdvanceForIdle = "This activates a separate ignition timing table for idle conditions, this can help idle stability by using ignition retard and advance either side of the desired idle speed. Extra retard at low idle speeds will prevent stalling and extra advance at high idle speeds can help reduce engine power and slow the idle speed." + useSeparateVeForIdle = "This activates a separate fuel table for Idle, this allows fine tuning of the idle fuelling." + verboseTriggerSynchDetails = "Verbose info in console below engineSnifferRpmThreshold\nenable trigger_details" + isManualSpinningMode = "Usually if we have no trigger events that means engine is stopped\nUnless we are troubleshooting and spinning the engine by hand - this case a longer\ndelay is needed" + useSeparateAdvanceForCranking = "In Constant mode, timing is automatically tapered to running as RPM increases.\nIn Table mode, the "Cranking ignition advance" table is used directly." + useAdvanceCorrectionsForCranking = "This enables the various ignition corrections during cranking (IAT, CLT, FSIO and PID idle).\nYou probably don't need this." + flexCranking = "Enable a second cranking table to use for E100 flex fuel, interpolating between the two based on flex fuel sensor." + useIacPidMultTable = "This flag allows to use a special 'PID Multiplier' table (0.0-1.0) to compensate for nonlinear nature of IAC-RPM controller" + launchSmoothRetard = "Interpolates the Ignition Retard from 0 to 100% within the RPM Range" + isPhaseSyncRequiredForIgnition = "Some engines are OK running semi-random sequential while other engine require phase synchronization" + useCltBasedRpmLimit = "If enabled, use a curve for RPM limit (based on coolant temperature) instead of a constant value." + forceO2Heating = "If enabled, don't wait for engine start to heat O2 sensors. WARNING: this will reduce the life of your sensor, as condensation in the exhaust from a cold start can crack the sensing element." + invertVvtControlIntake = "If increased VVT duty cycle increases the indicated VVT angle, set this to 'advance'. If it decreases, set this to 'retard'. Most intake cams use 'advance', and most exhaust cams use 'retard'." + invertVvtControlExhaust = "If increased VVT duty cycle increases the indicated VVT angle, set this to 'advance'. If it decreases, set this to 'retard'. Most intake cams use 'advance', and most exhaust cams use 'retard'." + sdTriggerLog = "'Trigger' mode will write a high speed log of trigger events (warning: uses lots of space!). 'Normal' mode will write a standard MLG of sensors, engine function, etc. similar to the one captured in TunerStudio." + camInputsDebug1 = "camInputsDebug 1" + camInputsDebug2 = "camInputsDebug 2" + camInputsDebug3 = "camInputsDebug 3" + camInputsDebug4 = "camInputsDebug 4" + acIdleRpmBump = "Extra idle target speed when A/C is enabled. Some cars need the extra speed to keep the AC efficient while idling." + noAccelAfterHardLimitPeriodSecs = "TODO: finish this #413" + mapAveragingSchedulingAtIndex = "At what trigger index should some MAP-related math be executed? This is a performance trick to reduce load on synchronization trigger callback." + tachPulseDuractionMs = "Duration in ms or duty cycle depending on selected mode" + wwaeTau = "Length of time the deposited wall fuel takes to dissipate after the start of acceleration." + alternatorControl_offset = "Linear addition to PID logic" + alternatorControl_periodMs = "PID dTime" + alternatorControl_minValue = "Output Min Duty Cycle" + alternatorControl_maxValue = "Output Max Duty Cycle" + etb_offset = "Linear addition to PID logic" + etb_periodMs = "PID dTime" + etb_minValue = "Output Min Duty Cycle" + etb_maxValue = "Output Max Duty Cycle" + triggerInputDebugPins1 = "triggerInputDebugPins 1" + triggerInputDebugPins2 = "triggerInputDebugPins 2" + airTaperRpmRange = "RPM range above upper limit for extra air taper" + mapErrorDetectionTooLow = "kPa value which is too low to be true" + mapErrorDetectionTooHigh = "kPa value which is too high to be true" + multisparkSparkDuration = "How long to wait for the spark to fire before recharging the coil for another spark." + multisparkDwell = "This sets the dwell time for subsequent sparks. The main spark's dwell is set by the dwell table." + idleRpmPid_offset = "Linear addition to PID logic" + idleRpmPid_periodMs = "PID dTime" + idleRpmPid_minValue = "Output Min Duty Cycle" + idleRpmPid_maxValue = "Output Max Duty Cycle" + wwaeBeta = "0 = No fuel settling on port walls 1 = All the fuel settling on port walls setting this to 0 disables the wall wetting enrichment." + auxValves1 = "auxValves 1" + auxValves2 = "auxValves 2" + throttlePedalWOTVoltage = "Pedal in the floor" + startUpFuelPumpDuration = "on IGN voltage detection turn fuel pump on to build fuel pressure" + idlePidRpmDeadZone = "If the RPM closer to target than this value, disable closed loop idle correction to prevent oscillation" + targetVBatt = "This is the target battery voltage the alternator PID control will attempt to maintain" + alternatorOffAboveTps = "Turns off alternator output above specified TPS, enabling this reduced parasitic drag on the engine at full load." + afterCrankingIACtaperDuration = "This is the duration in cycles that the IAC will take to reach its normal idle position, it can be used to hold the idle higher for a few seconds after cranking to improve startup." + iacByTpsTaper = "Extra IAC, in percent between 0 and 100, tapered between zero and idle deactivation TPS value" + auxSerialTxPin = "Auxiliary sensor serial, not to be confused with secondary calibration serial" + auxSerialRxPin = "Auxiliary sensor serial, not to be confused with secondary calibration serial" + tpsAccelLookback = "How long to look back for TPS-based acceleration enrichment. Increasing this time will trigger enrichment for longer when a throttle position change occurs." + coastingFuelCutVssLow = "Below this speed, disable DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears." + coastingFuelCutVssHigh = "Above this speed, allow DFCO. Use this to prevent jerkiness from fuel enable/disable in low gears." + noFuelTrimAfterDfcoTime = "Pause closed loop fueling after deceleration fuel cut occurs. Set this to a little longer than however long is required for normal fueling behavior to resume after fuel cut." + ignTestOnTime = "Duration of each test pulse" + tpsAccelEnrichmentThreshold = "Maximum change delta of TPS percentage over the 'length'. Actual TPS change has to be above this value in order for TPS/TPS acceleration to kick in." + auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" + auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" + injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." + debugMode = "See https://wiki.fome.tech/r/debugmode" + fan1ExtraIdle = "Additional idle % when fan #1 is active" + uartConsoleSerialSpeed = "Band rate for primary TTL" + tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" + tpsDecelEnleanmentMultiplier = "Magic multiplier, we multiply delta of TPS and get fuel squirt duration" + throttlePedalSecondaryWOTVoltage = "Pedal in the floor" + canBaudRate = "set can_baudrate" + veOverrideMode = "Override the Y axis (load) value used for the VE table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this." + afrOverrideMode = "Override the Y axis (load) value used for the AFR table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this." + mc33_hpfp_i_hold_off = "How long to deactivate power when hold current is reached before applying power again" + mc33_hpfp_max_hold = "Maximum amount of time the solenoid can be active before assuming a programming error" + stepperDcInvertedPins = "Enable if DC-motor driver (H-bridge) inverts the signals (eg. RZ7899 on Hellen boards)" + canOpenBLT = "Allow OpenBLT on Primary CAN" + can2OpenBLT = "Allow OpenBLT on Secondary CAN" + injectorFlowAsMassFlow = "Select whether to configure injector flow in volumetric flow (defualt, cc/min) or mass flow (g/s)." + benchTestOffTime = "Time between bench test pulses" + can2TxPin = "set_can2_tx_pin X" + can2RxPin = "set_can2_rx_pin X" + ignOverrideMode = "Override the Y axis (load) value used for the ignition table.\nAdvanced users only: If you aren't sure you need this, you probably don't need this." + injectorPressureType = "Select which fuel pressure sensor measures the pressure of the fuel at your injectors." + boostCutPressure = "MAP value above which fuel is cut in case of overboost.\nSet to 0 to disable overboost cut." + fixedTiming = "Fixed timing, useful for TDC testing" + mapLowValueVoltage = "MAP voltage for low point" + mapHighValueVoltage = "MAP voltage for low point" + egoValueShift = "EGO value correction" + vvtPins1 = "VVT output solenoid pin for this cam 1" + vvtPins2 = "VVT output solenoid pin for this cam 2" + vvtPins3 = "VVT output solenoid pin for this cam 3" + vvtPins4 = "VVT output solenoid pin for this cam 4" + crankingIACposition = "This is the IAC position during cranking, some engines start better if given more air during cranking to improve cylinder filling." + minimumIgnitionTiming = "Minimim timing advance allowed. No spark on any cylinder will ever fire after this angle BTDC. For example, setting -10 here means no spark ever fires later than 10 deg ATDC. Note that this only concerns the primary spark: any trailing sparks or multispark may violate this constraint." + maximumIgnitionTiming = "Maximum timing advance allowed. No spark on any cylinder will ever fire before this angle BTDC. For example, setting 45 here means no spark ever fires earlier than 45 deg BTDC" + vvtMode1 = "vvtMode 1" + vvtMode2 = "vvtMode 2" + fan2ExtraIdle = "Additional idle % when fan #2 is active" + primingDelay = "Delay to allow fuel pressure to build before firing the priming pulse." + auxAnalogInputs1 = "auxAnalogInputs 1" + auxAnalogInputs2 = "auxAnalogInputs 2" + auxAnalogInputs3 = "auxAnalogInputs 3" + auxAnalogInputs4 = "auxAnalogInputs 4" + auxAnalogInputs5 = "auxAnalogInputs 5" + auxAnalogInputs6 = "auxAnalogInputs 6" + auxAnalogInputs7 = "auxAnalogInputs 7" + auxAnalogInputs8 = "auxAnalogInputs 8" + trailingCoilPins1 = "trailingCoilPins 1" + trailingCoilPins2 = "trailingCoilPins 2" + trailingCoilPins3 = "trailingCoilPins 3" + trailingCoilPins4 = "trailingCoilPins 4" + trailingCoilPins5 = "trailingCoilPins 5" + trailingCoilPins6 = "trailingCoilPins 6" + trailingCoilPins7 = "trailingCoilPins 7" + trailingCoilPins8 = "trailingCoilPins 8" + trailingCoilPins9 = "trailingCoilPins 9" + trailingCoilPins10 = "trailingCoilPins 10" + trailingCoilPins11 = "trailingCoilPins 11" + trailingCoilPins12 = "trailingCoilPins 12" + injectorCompensationMode = "None = I have a MAP-referenced fuel pressure regulator\nFixed rail pressure = I have an atmosphere-referenced fuel pressure regulator (returnless, typically)\nSensed rail pressure = I have a fuel pressure sensor" + fuelReferencePressure = "This is the pressure at which your injector flow is known.\nFor example if your injectors flow 400cc/min at 3.5 bar, enter 350kpa here." + postCrankingFactor = "Fuel multiplier (enrichment) immediately after engine start" + postCrankingDurationSec = "Time over which to taper out after start enrichment" + auxTempSensor1_tempC_1 = "these values are in Celcius" + auxTempSensor1_bias_resistor = "Pull-up resistor value on your board" + auxTempSensor2_tempC_1 = "these values are in Celcius" + auxTempSensor2_bias_resistor = "Pull-up resistor value on your board" + etbWastegatePid_offset = "Linear addition to PID logic" + etbWastegatePid_periodMs = "PID dTime" + etbWastegatePid_minValue = "Output Min Duty Cycle" + etbWastegatePid_maxValue = "Output Max Duty Cycle" + stepperNumMicroSteps = "For micro-stepping, make sure that PWM frequency (etbFreq) is high enough" + stepperMinDutyCycle = "Use to limit the current when the stepper motor is idle, not moving (100% = no limit)" + stepperMaxDutyCycle = "Use to limit the max.current through the stepper motor (100% = no limit)" + timing_offset_cylinder1 = "per-cylinder timing correction 1" + timing_offset_cylinder2 = "per-cylinder timing correction 2" + timing_offset_cylinder3 = "per-cylinder timing correction 3" + timing_offset_cylinder4 = "per-cylinder timing correction 4" + timing_offset_cylinder5 = "per-cylinder timing correction 5" + timing_offset_cylinder6 = "per-cylinder timing correction 6" + timing_offset_cylinder7 = "per-cylinder timing correction 7" + timing_offset_cylinder8 = "per-cylinder timing correction 8" + timing_offset_cylinder9 = "per-cylinder timing correction 9" + timing_offset_cylinder10 = "per-cylinder timing correction 10" + timing_offset_cylinder11 = "per-cylinder timing correction 11" + timing_offset_cylinder12 = "per-cylinder timing correction 12" + spi1MosiMode = "Modes count be used for 3v<>5v integration using pull-ups/pull-downs etc." + mc33816_rstb = "ResetB" + brakePedalPin = "Brake pedal switch" + auxPid1_offset = "Linear addition to PID logic" + auxPid1_periodMs = "PID dTime" + auxPid1_minValue = "Output Min Duty Cycle" + auxPid1_maxValue = "Output Max Duty Cycle" + auxPid2_offset = "Linear addition to PID logic" + auxPid2_periodMs = "PID dTime" + auxPid2_minValue = "Output Min Duty Cycle" + auxPid2_maxValue = "Output Max Duty Cycle" + injectorCorrectionPolynomial1 = "injectorCorrectionPolynomial 1" + injectorCorrectionPolynomial2 = "injectorCorrectionPolynomial 2" + injectorCorrectionPolynomial3 = "injectorCorrectionPolynomial 3" + injectorCorrectionPolynomial4 = "injectorCorrectionPolynomial 4" + injectorCorrectionPolynomial5 = "injectorCorrectionPolynomial 5" + injectorCorrectionPolynomial6 = "injectorCorrectionPolynomial 6" + injectorCorrectionPolynomial7 = "injectorCorrectionPolynomial 7" + injectorCorrectionPolynomial8 = "injectorCorrectionPolynomial 8" + fan2OnTemperature = "Cooling fan turn-on temperature threshold, in Celsius" + fan2OffTemperature = "Cooling fan turn-off temperature threshold, in Celsius" + sentInputPins1 = "sentInputPins 1" + etbJamTimeout = "Time required to detect a stuck throttle." + etbExpAverageLength = "By the way ETB PID runs at 500hz, length in 1/500 of second here." + coastingFuelCutRpmHigh = "This sets the RPM above which fuel cut is active." + coastingFuelCutRpmLow = "This sets the RPM below which fuel cut is deactivated, this prevents jerking or issues transitioning to idle" + coastingFuelCutTps = "Throttle position below which fuel cut is active. With an electronic throttle enabled, this checks against pedal position." + coastingFuelCutClt = "Fuel cutoff is disabled when the engine is cold." + pidExtraForLowRpm = "Increases PID reaction for RPM , 50, , true + + filter = VBatt, "VBatt", VBatt < , 12, , true + + filter = minTps, "Minimum TPS", TPSValue, < , 1, , true + + +; +; in order to add new TunerStudio data point you need to change one of *.txt files mentioned in LiveData.yaml +; +[OutputChannels] + + ochGetCommand = "O%2o%2c" + +; see TS_OUTPUT_SIZE in console source code + ochBlockSize = 1380 + +; +; see TunerStudioOutputChannels struct +; + +sd_present = bits, U32, 0, [0:0] +sd_logging_internal = bits, U32, 0, [1:1] +triggerScopeReady = bits, U32, 0, [2:2] +antilagTriggered = bits, U32, 0, [3:3] +isFanOn = bits, U32, 0, [4:4] +isO2HeaterOn = bits, U32, 0, [5:5] +checkEngine = bits, U32, 0, [6:6] +needBurn = bits, U32, 0, [7:7] +sd_msd = bits, U32, 0, [8:8] +isFan2On = bits, U32, 0, [9:9] +acrActive = bits, U32, 0, [10:10] +toothLogReady = bits, U32, 0, [11:11] +isTpsError = bits, U32, 0, [12:12] +isCltError = bits, U32, 0, [13:13] +isMapError = bits, U32, 0, [14:14] +isIatError = bits, U32, 0, [15:15] +isTriggerError = bits, U32, 0, [16:16] +hasCriticalError = bits, U32, 0, [17:17] +isWarnNow = bits, U32, 0, [18:18] +isPedalError = bits, U32, 0, [19:19] +launchTriggered = bits, U32, 0, [20:20] +isTps2Error = bits, U32, 0, [21:21] +injectorFault = bits, U32, 0, [22:22] +ignitionFault = bits, U32, 0, [23:23] +isMainRelayOn = bits, U32, 0, [24:24] +isUsbConnected = bits, U32, 0, [25:25] +dfcoActive = bits, U32, 0, [26:26] +RPMValue = scalar, U16, 4, "RPM", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 +speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 +vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 +internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 +coolant = scalar, S16, 12, "deg C", 0.01, 0 +intake = scalar, S16, 14, "deg C", 0.01, 0 +auxTemp1 = scalar, S16, 16, "deg C", 0.01, 0 +auxTemp2 = scalar, S16, 18, "deg C", 0.01, 0 +TPSValue = scalar, S16, 20, "%", 0.01, 0 +throttlePedalPosition = scalar, S16, 22, "%", 0.01, 0 +tpsADC = scalar, U16, 24, "ADC", 1, 0 +rawMaf = scalar, U16, 26, "V", 0.001, 0 +mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 +MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 +baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 +lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 +tsConfigVersion = scalar, U32, 124, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 +m_knockThreshold = scalar, F32, 896, "", 1, 0 +m_knockCount = scalar, U32, 900, "", 1, 0 +m_maximumRetard = scalar, F32, 904, "", 1, 0 +; total TS size = 908 +m_requested_pump = scalar, F32, 908, "", 1, 0 +fuel_requested_percent = scalar, F32, 912, "", 1, 0 +fuel_requested_percent_pi = scalar, F32, 916, "", 1, 0 +noValve = bits, U32, 920, [0:0] +angleAboveMin = bits, U32, 920, [1:1] +isHpfpInactive = bits, U32, 920, [2:2] +nextLobe = scalar, F32, 924, "", 1, 0 +di_nextStart = scalar, F32, 928, "v", 1, 0 +; total TS size = 932 +m_deadtime = scalar, F32, 932, "ms", 1, 0 +pressureDelta = scalar, F32, 936, "kPa", 1, 0 +pressureRatio = scalar, F32, 940, "", 1, 0 +; total TS size = 944 +retardThresholdRpm = scalar, S32, 944, "", 1, 0 +combinedConditions = bits, U32, 948, [0:0] +launchActivatePinState = bits, U32, 948, [1:1] +isLaunchCondition = bits, U32, 948, [2:2] +isSwitchActivated = bits, U32, 948, [3:3] +isClutchActivated = bits, U32, 948, [4:4] +isValidInputPin = bits, U32, 948, [5:5] +activateSwitchCondition = bits, U32, 948, [6:6] +rpmCondition = bits, U32, 948, [7:7] +speedCondition = bits, U32, 948, [8:8] +tpsCondition = bits, U32, 948, [9:9] +; total TS size = 952 +isAntilagCondition = bits, U32, 952, [0:0] +ALSMinRPMCondition = bits, U32, 952, [1:1] +ALSMaxRPMCondition = bits, U32, 952, [2:2] +ALSMinCLTCondition = bits, U32, 952, [3:3] +ALSMaxCLTCondition = bits, U32, 952, [4:4] +ALSMaxThrottleIntentCondition = bits, U32, 952, [5:5] +isALSSwitchActivated = bits, U32, 952, [6:6] +ALSActivatePinState = bits, U32, 952, [7:7] +ALSSwitchCondition = bits, U32, 952, [8:8] +ALSTimerCondition = bits, U32, 952, [9:9] +fuelALSCorrection = scalar, F32, 956, "", 1, 0 +timingALSCorrection = scalar, S16, 960, "deg", 0.01, 0 +; total TS size = 964 +isTpsInvalid = bits, U32, 964, [0:0] +m_shouldResetPid = bits, U32, 964, [1:1] +isBelowClosedLoopThreshold = bits, U32, 964, [2:2] +isNotClosedLoop = bits, U32, 964, [3:3] +isZeroRpm = bits, U32, 964, [4:4] +hasInitBoost = bits, U32, 964, [5:5] +rpmTooLow = bits, U32, 964, [6:6] +tpsTooLow = bits, U32, 964, [7:7] +mapTooLow = bits, U32, 964, [8:8] +luaTargetAdd = scalar, S16, 968, "v", 0.5, 0 +boostOutput = scalar, S16, 970, "percent", 0.01, 0 +luaTargetMult = scalar, F32, 972, "v", 1, 0 +openLoopPart = scalar, F32, 976, "v", 1, 0 +luaOpenLoopAdd = scalar, F32, 980, "v", 1, 0 +boostControllerClosedLoopPart = scalar, S08, 984, "%", 0.5, 0 +boostControlTarget = scalar, S16, 986, "kPa", 0.03333333333333333, 0 +; total TS size = 988 +acButtonState = bits, U32, 988, [0:0] +m_acEnabled = bits, U32, 988, [1:1] +engineTooSlow = bits, U32, 988, [2:2] +engineTooFast = bits, U32, 988, [3:3] +noClt = bits, U32, 988, [4:4] +engineTooHot = bits, U32, 988, [5:5] +tpsTooHigh = bits, U32, 988, [6:6] +isDisabledByLua = bits, U32, 988, [7:7] +acCompressorState = bits, U32, 988, [8:8] +latest_usage_ac_control = scalar, S32, 992, "", 1, 0 +acSwitchLastChangeTimeMs = scalar, S32, 996, "", 1, 0 +; total TS size = 1000 +cranking = bits, U32, 1000, [0:0] +notRunning = bits, U32, 1000, [1:1] +disabledWhileEngineStopped = bits, U32, 1000, [2:2] +brokenClt = bits, U32, 1000, [3:3] +enabledForAc = bits, U32, 1000, [4:4] +hot = bits, U32, 1000, [5:5] +cold = bits, U32, 1000, [6:6] +; total TS size = 1004 +isPrime = bits, U32, 1004, [0:0] +engineTurnedRecently = bits, U32, 1004, [1:1] +isFuelPumpOn = bits, U32, 1004, [2:2] +ignitionOn = bits, U32, 1004, [3:3] +; total TS size = 1008 +isBenchTest = bits, U32, 1008, [0:0] +hasIgnitionVoltage = bits, U32, 1008, [1:1] +mainRelayState = bits, U32, 1008, [2:2] +delayedShutoffRequested = bits, U32, 1008, [3:3] +; total TS size = 1012 +lua_fuelAdd = scalar, F32, 1012, "g", 1, 0 +lua_fuelMult = scalar, F32, 1016, "", 1, 0 +lua_clutchUpState = bits, U32, 1020, [0:0] +lua_brakePedalState = bits, U32, 1020, [1:1] +lua_acRequestState = bits, U32, 1020, [2:2] +lua_luaDisableEtb = bits, U32, 1020, [3:3] +lua_luaIgnCut = bits, U32, 1020, [4:4] +sd_tCharge = scalar, S16, 1024, "deg C", 0.01, 0 +sd_tChargeK = scalar, F32, 1028, "", 1, 0 +crankingFuel_coolantTemperatureCoefficient = scalar, F32, 1032, "", 1, 0 +crankingFuel_tpsCoefficient = scalar, F32, 1036, "", 1, 0 +crankingFuel_durationCoefficient = scalar, F32, 1040, "", 1, 0 +crankingFuel_fuel = scalar, U16, 1044, "mg", 0.01, 0 +baroCorrection = scalar, F32, 1048, "", 1, 0 +hellenBoardId = scalar, S16, 1052, "id", 1, 0 +clutchUpState = bits, U32, 1056, [0:0] +clutchDownState = bits, U32, 1056, [1:1] +brakePedalState = bits, U32, 1056, [2:2] +startStopState = bits, U32, 1056, [3:3] +startStopStateToggleCounter = scalar, U32, 1060, "", 1, 0 +egtValue1 = scalar, F32, 1064, "", 1, 0 +egtValue2 = scalar, F32, 1068, "", 1, 0 +desiredRpmLimit = scalar, S16, 1072, "rpm", 1, 0 +fuelInjectionCounter = scalar, U32, 1076, "", 1, 0 +sparkCounter = scalar, U32, 1080, "", 1, 0 +fuelingLoad = scalar, F32, 1084, "", 1, 0 +ignitionLoad = scalar, F32, 1088, "", 1, 0 +veTableYAxis = scalar, U16, 1092, "%", 0.01, 0 +; total TS size = 1096 +tpsFrom = scalar, F32, 1096 +tpsTo = scalar, F32, 1100 +deltaTps = scalar, F32, 1104 +extraFuel = scalar, F32, 1108, "", 1, 0 +valueFromTable = scalar, F32, 1112, "", 1, 0 +isAboveAccelThreshold = bits, U32, 1116, [0:0] +isBelowDecelThreshold = bits, U32, 1116, [1:1] +isTimeToResetAccumulator = bits, U32, 1116, [2:2] +isFractionalEnrichment = bits, U32, 1116, [3:3] +belowEpsilon = bits, U32, 1116, [4:4] +tooShort = bits, U32, 1116, [5:5] +fractionalInjFuel = scalar, F32, 1120, "", 1, 0 +accumulatedValue = scalar, F32, 1124, "", 1, 0 +maxExtraPerCycle = scalar, F32, 1128, "", 1, 0 +maxExtraPerPeriod = scalar, F32, 1132, "", 1, 0 +maxInjectedPerPeriod = scalar, F32, 1136, "", 1, 0 +cycleCnt = scalar, S32, 1140, "", 1, 0 +; total TS size = 1144 +hwEventCounters1 = scalar, U32, 1144, "", 1, 0 +hwEventCounters2 = scalar, U32, 1148, "", 1, 0 +hwEventCounters3 = scalar, U32, 1152, "", 1, 0 +hwEventCounters4 = scalar, U32, 1156, "", 1, 0 +hwEventCounters5 = scalar, U32, 1160, "", 1, 0 +hwEventCounters6 = scalar, U32, 1164, "", 1, 0 +vvtCamCounter = scalar, U32, 1168, "", 1, 0 +mapVvt_MAP_AT_SPECIAL_POINT = scalar, F32, 1172, "", 1, 0 +mapVvt_MAP_AT_DIFF = scalar, F32, 1176, "", 1, 0 +mapVvt_MAP_AT_CYCLE_COUNT = scalar, U08, 1180, "", 1, 0 +mapVvt_map_peak = scalar, U08, 1181, "", 1, 0 +currentEngineDecodedPhase = scalar, F32, 1184, "deg", 1, 0 +triggerToothAngleError = scalar, F32, 1188, "deg", 1, 0 +triggerIgnoredToothCount = scalar, U08, 1192, "", 1, 0 +; total TS size = 1196 +crankSynchronizationCounter = scalar, U32, 1196, "", 1, 0 +vvtSyncGapRatio = scalar, F32, 1200, "", 1, 0 +triggerSyncGapRatio = scalar, F32, 1204, "", 1, 0 +triggerStateIndex = scalar, U08, 1208, "", 1, 0 +vvtCounter = scalar, U08, 1209, "", 1, 0 +camResyncCounter = scalar, U08, 1210, "", 1, 0 +vvtStateIndex = scalar, U08, 1211, "", 1, 0 +; total TS size = 1212 +m_hasSynchronizedPhase = bits, U32, 1212, [0:0] +; total TS size = 1216 +wallFuelCorrection = scalar, F32, 1216, "", 1, 0 +wallFuel = scalar, F32, 1220, "", 1, 0 +; total TS size = 1224 +idleState = bits, S32, 1224, [0:2], "not important" +currentIdlePosition = scalar, F32, 1228 +baseIdlePosition = scalar, F32, 1232 +idleClosedLoop = scalar, F32, 1236 +iacByTpsTaper = scalar, F32, 1240 +throttlePedalUpState = scalar, S32, 1244, "", 1, 0 +mightResetPid = bits, U32, 1248, [0:0] +shouldResetPid = bits, U32, 1248, [1:1] +wasResetPid = bits, U32, 1248, [2:2] +mustResetPid = bits, U32, 1248, [3:3] +isCranking = bits, U32, 1248, [4:4] +isIacTableForCoasting = bits, U32, 1248, [5:5] +notIdling = bits, U32, 1248, [6:6] +needReset = bits, U32, 1248, [7:7] +isInDeadZone = bits, U32, 1248, [8:8] +isBlipping = bits, U32, 1248, [9:9] +looksLikeRunning = bits, U32, 1248, [10:10] +looksLikeCoasting = bits, U32, 1248, [11:11] +looksLikeCrankToIdle = bits, U32, 1248, [12:12] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] +idleTarget = scalar, S32, 1252, "", 1, 0 +targetRpmByClt = scalar, S32, 1256, "", 1, 0 +targetRpmAcBump = scalar, S32, 1260, "", 1, 0 +iacByRpmTaper = scalar, F32, 1264 +luaAdd = scalar, F32, 1268 +; total TS size = 1272 +idlePosition = scalar, F32, 1272, "per", 1, 0 +trim = scalar, F32, 1276, "", 1, 0 +luaAdjustment = scalar, F32, 1280, "per", 1, 0 +m_wastegatePosition = scalar, F32, 1284, "per", 1, 0 +etbFeedForward = scalar, F32, 1288 +etbIntegralError = scalar, F32, 1292, "", 1, 0 +etbCurrentTarget = scalar, F32, 1296, "%", 1, 0 +etbCurrentAdjustedTarget = scalar, F32, 1300, "%", 1, 0 +etbRevLimitActive = bits, U32, 1304, [0:0] +jamDetected = bits, U32, 1304, [1:1] +etbDutyRateOfChange = scalar, F32, 1308, "per", 1, 0 +etbDutyAverage = scalar, F32, 1312, "per", 1, 0 +etbTpsErrorCounter = scalar, U16, 1316, "count", 1, 0 +etbPpsErrorCounter = scalar, U16, 1318, "count", 1, 0 +etbErrorCode = scalar, S08, 1320, "", 1, 0 +jamTimer = scalar, U16, 1322, "sec", 0.01, 0 +; total TS size = 1324 +faultCode = scalar, U08, 1324, "", 1, 0 +heaterDuty = scalar, U08, 1325, "%", 1, 0 +pumpDuty = scalar, U08, 1326, "%", 1, 0 +tempC = scalar, U16, 1328, "C", 1, 0 +nernstVoltage = scalar, U16, 1330, "V", 0.001, 0 +esr = scalar, U16, 1332, "ohm", 1, 0 +; total TS size = 1336 +dcOutput0 = scalar, F32, 1336, "per", 1, 0 +isEnabled0_int = scalar, U08, 1340, "per", 1, 0 +isEnabled0 = bits, U32, 1344, [0:0] +; total TS size = 1348 +value0 = scalar, U16, 1348, "value", 1, 0 +value1 = scalar, U16, 1350, "value", 1, 0 +errorRate = scalar, F32, 1352, "ratio", 1, 0 +; total TS size = 1356 +throttleUseWotModel = bits, U32, 1356, [0:0] +throttleModelCrossoverAngle = scalar, S16, 1360, "%", 0.01, 0 +throttleEstimatedFlow = scalar, F32, 1364, "g/s", 1, 0 +; total TS size = 1368 +vvtTarget = scalar, U16, 1368, "deg", 0.1, 0 +vvtOutput = scalar, U08, 1370, "%", 0.5, 0 +; total TS size = 1372 +lambdaCurrentlyGood = bits, U32, 1372, [0:0] +lambdaMonitorCut = bits, U32, 1372, [1:1] +lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 +; total TS size = 1380 + + + time = { timeNow } + + egoCorrectionForVeAnalyze = { 100 + fuelPidCorrection1 } + + wbo0_hasFault = { enableAemXSeries && (faultCode >= 3) } + +[PcVariables] + tuneCrcPcVariable = continuousChannelValue, tuneCrc16 + + wueAfrTargetOffset = array, S16, [ 16], ":1", 0.1, 0.0, -3.0, 3.0, 1; + wueAnalRecommend = array, U08, [ 16], "%", 1.00, 0.0, 100, 255.00, 0 + + gearCountArray = array, S08, [10], "Gear", 1, 0, -1, { 10 - 2 }, 0, noMsqSave + solenoidCountArray = array, U08, [6], "Solenoid", 1, 0, 1, 6, 0, noMsqSave + +; wall of debug mode :) +; https://rusefi.com/wiki/index.php?title=Manual:Debug_fields +; Alternator TPS Acceleration Idle Engine Load Acc Trigger Counters VVT1 PID Cranking Ignition Timing Fu Corr VSS SD Card Knock Wall Wetting ETB PID Executor InstantRpm CJ125 CAN MAP TLE8888 Analog inputs 2 Start ETB Autotune DYNO_VIEW LOGIC_ANALYZER Wideband TCU Lua VVT2 PID VVT3 PID VVT4 PID +; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 +; DBG_ALTERNATOR_PID DBG_TPS_ACCEL DBG_IDLE_CONTROL + debugFieldF1List = bits, U08, [0:7], "Alt: Controller Output", "From TPS", "", "Idle: Controller Output", "Idle output", " ", "", "VVT1: Controller Output"," ", "", "Ign IAT Corr", "", "", "Total SD", "last volts", "", "WW: Alpha", "ETB Controller Output", "", "", "df1", "df1", "InstantRpm", "", "24:df1", "CJ125: output", "", "MAP Average", "", "", "", "", "TPS1 Pri/Sec Diff", "", "", "", "","S unused" "", "Osc Amplitude", "", "", "", "" , "VSS", "", "WB: Pump DAC duty", "", "Lua Debug 1", "VVT2: Controller Output","VVT3: Controller Output","VVT4: Controller Output" + debugFieldF2List = bits, U08, [0:7], "Alt: I Term", "To TPS", "", "Idle: I Term", "Idle df2", " ", "", "VVT1: I Term", " ", "", "Ign CLT Corr", "", "", "Write Cnt","last filtered","", "WW: Beta", "ETB I Term", "", "", "df2", "df2", "InstantRPM Ratio","", "24:df2", "CJ125: i term", "", "MAP Duration", "", "", "", "", "TPS2 Pri/Sec Diff", "", "", "", "","S unused" "", "Duty Amplitude", "", "", "", "" , "Speed", "", "WB: ESR", "", "Lua Debug 2", "VVT2: I Term", "VVT3: I Term", "VVT4: I Term" + debugFieldF3List = bits, U08, [0:7], "Alt: Previous Error", "Current TPS<>TPS", "", "Idle: prev error", "Idle df3", "ICU sum", "", "VVT1: prev error", "", "", "", "", "", "Sync Cnt", "", "", "WW: film mass", "ETB err", "", "", "df3", "df3", "22df3", "", "24:df3", "CJ125: err", "", "MAP Fast", "", "", "", "", "TPS1/2 Diff", "", "", "", "","S unused" "", "Tu", "", "", "", "" , "DeltaSpeed", "", "WB: Nernst Voltage", "", "Lua Debug 3", "VVT2: prev error", "VVT3: prev error", "VVT4: prev error" + debugFieldF4List = bits, U08, [0:7], "Alt: I Gain", "Extra Fuel", "", "Idle: I Gain", "Idle df4", " ", "", "VVT1: I Gain", "", "", "Ign PID Adj", "", "", "File Cnt", "", "", "WW: m_cmd", "ETB I setting", "", "", "df4", "df4", "22df4", "", "24:df4", "CJ125: UA", "", "MAP Estimate", "", "", "", "", "Acc Pedal Pri/Sec Diff","", "", "", "","S unused" "", "Ku", "", "", "", "", "accel", "", "WB: Lambda", "", "Lua Debug 4", "VVT2: I Gain", "VVT3: I Gain", "VVT4: I Gain" + debugFieldF5List = bits, U08, [0:7], "Alt: D Gain", "df5", "", "Idle: D Gain", "Idle df5", " ", "df5", "VVT1: D Gain", "", "", "", "", "", "", "", "", "WW: film mass next","ETB D setting", "df5", "df5", "df5", "df5", "22df5", "", "24:df5", "CJ125: UR", "", "MAP Instant", "", "", "", "", "TPS1 Pri/Sec Ratio", "", "", "", "","S unused" "", "Kp", "", "", "", "", "", "", "", "", "Lua Debug 5", "VVT2: D Gain", "VVT3: D Gain", "VVT4: D Gain" + debugFieldF6List = bits, U08, [0:7], "Alt: D Term", "", "", "Idle: D Term", "Idle df6", " ", "", "VVT1: D Term", "", "", "", "", "", "", "", "", "", "ETB df6", "", "", "df6", "df6", "22df6", "", "24:df6", "cj: f7", "", "", "", "", "", "", "", "", "", "", "","S unused" "", "Ki", "", "", "", "", "", "", "", "", "Lua Debug 6", "VVT2: D Term", "VVT3: D Term", "VVT4: D Term" + debugFieldF7List = bits, U08, [0:7], "Alt: Max-Value", "", "", "Idle: Max-Value", "Idle df7", "", "", "VVT1: Max-Value", "", "", "", "", "", "", "", "", "", "ETB df7", "", "", "df7", "df7", "22df7", "", "24:df7", "cj: f7", "", "", "", "", "", "", "", "", "", "", "","S unused" "", "Kd", "", "", "", "", "", "", "", "", "Lua Debug 7", "", "", "" + debugFieldI1List = bits, U08, [0:7], "Alt: P Gain", "", "", "Idle: P Gain", "Idle di1", " ", "", "VVT1: P Gain", " ", "Cycle Counter", "Multispark Count", "", "", "", "hip corr", "", "", "ETB P-Gain", "t counter", "", "di1", "di1", "Spark Event Gap","", "24:di1", "CJ125: state", "read count","MAP counter", "", "", "", "SPI Counter", "", "", "", "", "","Start Count", "", "", "", "", "", "", "deltatime", "", "", "Solenoid 1 State", "Lua memory used","VVT2: P Gain", "VVT3: P Gain", "VVT4: P Gain" + debugFieldI2List = bits, U08, [0:7], "Alt: Offset", "", "", "Idle: Offset", "Idle di2", " ", "", "VVT1: Offset", "", "", "", "", "", "", "hip incor", "", "", "ETB di2", "invocationcounter", "", "di2", "di2", "Inj Event Gap", "", "24:di2", "", "write count","MAP raw ADC", "", "", "", "Latest Transmit","", "", "", "", "","Starter Enable", "", "", "", "", "", "", "", "", "", "Solenoid 2 State", "", "VVT2: Offset", "VVT3: Offset", "VVT4: Offset" + debugFieldI3List = bits, U08, [0:7], "Alt: Reset Cnt", "", "", "Idle: Reset Cnt", "Idle di3", " ", "", "VVT1: 10xTarget", "", "", "", "", "", "", "", "", "", "ETB di3", "s counter", "", "di3", "di3", "22di3", "", "24:di3", "", "write err", "", "", "", "", "Latest Received","", "", "", "", "","Starter Disable","", "", "", "", "", "", "", "", "", "Solenoid 3 State", "", "VVT2: 10xTarger", "VVT3: 10xTarger", "VVT4: 10xTarger" + debugFieldI4List = bits, U08, [0:7], "Alt: Period", "", "", "Idle: State", "Idle di4", "Cycle Cnt 1", "", "", "", "", "", "", "", "", "", "", "", "ETB di4", "executor", "", "di4", "di4", "22di4", "", "24:di4", "", "", "", "", "", "", "Init Count", "", "", "", "", "","" "", "", "", "", "", "", "", "", "", "Solenoid 4 State", "", "", "", "" + debugFieldI5List = bits, U08, [0:7], "", "", "", "", "Idle di5", "Cycle Cnt 2", "", "", "", "", "", "", "", "", "", "di5", "di5", "ETB di5", "max executor", "di5", "di5", "di5", "22di5", "di5", "di5", "di5", "di5", "di5", "", "di5", "di5", "di5", "", "di5", "di5", "di5", "","" "", "", "", "", "", "", "", "", "", "Solenoid 5 State", "", "", "", "" + + wboFaultCodeList = bits, U08, [0:3], "OK", "Unk", "Unk", "failed to heat", "overheat", "underheat", "no supply" + + injModeList = bits, U08, [0:3], "Simultaneous", "Sequential", "Batch", "Single Point" + ignModeList = bits, U08, [0:3], "Single Coil", "Sequential", "Wasted", "Two Coils" + +; ClearReason + fuelIgnCutCodeList = bits, U08, [0:7], "None", "fatal error", "setting disabled", "RPM limit", "fault RPM limit", "boost cut", "oil pressure", "stop requested", "ETB problem", "launch control", "max injector duty", "flood clear", "engine sync", "kickstart", "ign off", "Lua", "ACR", "Lambda Prot" + +; TpsState + etbCutCodeList = bits, U08, [0:7], "None", "engine stopped", "TPS error", "PPS error", "TPS noise", "PID noise", "Lua", "Manual", "N/A", "Redundancy", "PPS noise" + +[ConstantsExtensions] + ; defaultValue is used to provide TunerStudio with a value to use in the case of + ; the constant not yet being initialized. This is primarily important if the + ; constant is used as a variable in the ini. + ; defaultValue = constantName, value; + defaultValue = wueAfrTargetOffset, -1.5 -1.4 -1.15 -0.95 -0.775 -0.65 -0.5625 -0.5 -0.4375 -0.375 -0.3125 -0.25 -0.1875 -0.125 -0.0625 0 + + ; this magic is best described in output_channels.txt search for 'maintainConstantValue' + ; TPS 1 Primary + maintainConstantValue = tpsMax, { (calibrationMode == 1 ) ? calibrationValue : tpsMax } + maintainConstantValue = tpsMin, { (calibrationMode == 2 ) ? calibrationValue : tpsMin } + + ; TPS 1 Secondary + maintainConstantValue = tps1SecondaryMax, { (calibrationMode == 6 ) ? calibrationValue : tps1SecondaryMax } + maintainConstantValue = tps1SecondaryMin, { (calibrationMode == 7 ) ? calibrationValue : tps1SecondaryMin } + + ; TPS 2 Primary + maintainConstantValue = tps2Max, { (calibrationMode == 8 ) ? calibrationValue : tps2Max } + maintainConstantValue = tps2Min, { (calibrationMode == 9 ) ? calibrationValue : tps2Min } + + ; TPS 2 Secondary + maintainConstantValue = tps2SecondaryMax, { (calibrationMode == 10 ) ? calibrationValue : tps2SecondaryMax } + maintainConstantValue = tps2SecondaryMin, { (calibrationMode == 11 ) ? calibrationValue : tps2SecondaryMin } + + ; ETB Auto Gain Calibration + maintainConstantValue = etb_pFactor, { (calibrationMode == 3 ) ? calibrationValue : etb_pFactor } + maintainConstantValue = etb_iFactor, { (calibrationMode == 4 ) ? calibrationValue : etb_iFactor } + maintainConstantValue = etb_dFactor, { (calibrationMode == 5 ) ? calibrationValue : etb_dFactor } + + maintainConstantValue = throttlePedalUpVoltage, { (calibrationMode == 12 ) ? calibrationValue : throttlePedalUpVoltage } + maintainConstantValue = throttlePedalSecondaryUpVoltage, { (calibrationMode == 12 ) ? calibrationValue2 : throttlePedalSecondaryUpVoltage } + + maintainConstantValue = throttlePedalWOTVoltage, { (calibrationMode == 13 ) ? calibrationValue : throttlePedalWOTVoltage } + maintainConstantValue = throttlePedalSecondaryWOTVoltage, { (calibrationMode == 13 ) ? calibrationValue2 : throttlePedalSecondaryWOTVoltage } + + requiresPowerCycle = binarySerialTxPin + requiresPowerCycle = binarySerialRxPin + requiresPowerCycle = tunerStudioSerialSpeed + requiresPowerCycle = auxSerialRxPin + requiresPowerCycle = auxSerialTxPin + + requiresPowerCycle = etb_use_two_wires + requiresPowerCycle = etbFreq + requiresPowerCycle = etbFunctions1 + requiresPowerCycle = etbFunctions2 + + requiresPowerCycle = idle_solenoidFrequency + requiresPowerCycle = boostPwmFrequency + requiresPowerCycle = alternatorPwmFrequency + requiresPowerCycle = vvtOutputFrequency + requiresPowerCycle = vvtPins1 + requiresPowerCycle = vvtPins2 + requiresPowerCycle = vvtPins3 + requiresPowerCycle = vvtPins4 + + requiresPowerCycle = auxAnalogInputs1 + requiresPowerCycle = auxAnalogInputs2 + requiresPowerCycle = auxAnalogInputs3 + requiresPowerCycle = auxAnalogInputs4 + requiresPowerCycle = auxAnalogInputs5 + requiresPowerCycle = auxAnalogInputs6 + requiresPowerCycle = auxAnalogInputs7 + requiresPowerCycle = auxAnalogInputs8 + + requiresPowerCycle = knockBandCustom + + defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 + readOnly = gearCountArray + defaultValue = solenoidCountArray, 1 2 3 4 5 6 7 8 + readOnly = solenoidCountArray + + +[CurveEditor] +; xAxis = leftValue, rightValue, step +; yAxis = bottomValue, topValue, step + + curve = knockThresholdCurve, "Engine knock threshold RPM based" + columnLabel = "RPM", "Threshold" + xAxis = 0, 8000, 9 + yAxis = 0, 8, 10 + xBins = knockNoiseRpmBins, RPMValue + yBins = knockBaseNoise + gauge = RPMGauge + + curve = scriptCurve1, "Script Curve #1" + columnLabel = "X", "Y" + xAxis = 0, 128, 10 + yAxis = -155, 150, 10 + xBins = scriptCurve1Bins + yBins = scriptCurve1 + showTextValues = true + + curve = scriptCurve2, "Script Curve #2" + columnLabel = "X", "Y" + xAxis = 0, 128, 10 + yAxis = -150, 150, 10 + xBins = scriptCurve2Bins + yBins = scriptCurve2 + showTextValues = true + + curve = scriptCurve3, "Script Curve #3" + columnLabel = "X", "Y" + xAxis = 0, 128, 10 + yAxis = -5, 5, 10 + xBins = scriptCurve3Bins + yBins = scriptCurve3 + showTextValues = true + + curve = scriptCurve4, "Script Curve #4" + columnLabel = "X", "Y" + xAxis = 0, 128, 10 + yAxis = -5, 5, 10 + xBins = scriptCurve4Bins + yBins = scriptCurve4 + showTextValues = true + + curve = scriptCurve5, "Script Curve #5" + columnLabel = "X", "Y" + xAxis = 0, 128, 10 + yAxis = -5, 5, 10 + xBins = scriptCurve5Bins + yBins = scriptCurve5 + showTextValues = true + + curve = scriptCurve6, "Script Curve #6" + columnLabel = "X", "Y" + xAxis = 0, 128, 10 + yAxis = -5, 5, 10 + xBins = scriptCurve6Bins + yBins = scriptCurve6 + showTextValues = true + + curve = dwellCorrection, "Dwell time base" + columnLabel = "RPM", "Dwell" + xAxis = 0, 8000, 9 + yAxis = 0, 8, 9 + xBins = sparkDwellRpmBins, RPMValue + yBins = sparkDwellValues + gauge = RPMGauge + + curve = dwellVoltageCorrection, "Dwell voltage correction" + columnLabel = "Battery Volts", "Multiplier" + xAxis = 6, 16, 11 + yAxis = 0, 3, 7 + xBins = dwellVoltageCorrVoltBins, VBatt + yBins = dwellVoltageCorrValues + gauge = VBattGauge + + curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" + columnLabel = "RPM", "Multiplier" + xAxis = 0, 8000, 9 + yAxis = 0, 3, 7 + xBins = tpsTspCorrValuesBins, RPMValue + yBins = tpsTspCorrValues + gauge = RPMGauge + + curve = primingPulse, "Priming pulse fuel mass" + columnLabel = "Coolant", "Prime Pulse" + xAxis = -40, 120, 9 + yAxis = 0, 1000, 9 + xBins = primeBins, coolant + yBins = primeValues + gauge = CLTGauge + + curve = map_samplingAngleCurve, "MAP Sampling Start Angle" + columnLabel = "RPM", "Angle" + xAxis = 0, 8000, 9 + yAxis = 0, 180, 10 + xBins = map_samplingAngleBins, RPMValue + yBins = map_samplingAngle + gauge = MAPGauge + + curve = map_samplingWindowCurve, "MAP Sampling Duration" + columnLabel = "RPM", "Window" + xAxis = 0, 8000, 9 + yAxis = 0, 180, 10 + xBins = map_samplingWindowBins, RPMValue + yBins = map_samplingWindow + gauge = MAPGauge + + curve = injectorsDeadTime, "Injector dead time" + columnLabel = "Battery", "Dead Time" + xAxis = 6, 16, 11 + yAxis = 0, 8, 9 + xBins = injector_battLagCorrBins, VBatt + yBins = injector_battLagCorr + gauge = VBattGauge + + curve = vrThresholdCurve1, "VR 1 Threshold" + columnLabel = "RPM", "Voltage" + xAxis = 0, 8000, 9 + yAxis = 0, 2.5, 6 + xBins = vrThreshold1_rpmBins, RPMValue + yBins = vrThreshold1_values + + curve = vrThresholdCurve2, "VR 2 Threshold" + columnLabel = "RPM", "Voltage" + xAxis = 0, 8000, 9 + yAxis = 0, 2.5, 6 + xBins = vrThreshold2_rpmBins, RPMValue + yBins = vrThreshold2_values + + curve = mafDecodingCurve, "MAF sensor" + columnLabel = "Voltage", "kg/hour" + xAxis = -1, 6, 10 + yAxis = -30, 1300, 10 + xBins = mafDecodingBins, rawMaf + yBins = mafDecoding + gauge = rawMafGauge + + curve = iatFuelCorrCurve, "Intake air temperature fuel Multiplier" + topicHelp = "iatFuelCorrCurveHelp" + columnLabel = "Air Temp", "Multiplier" + xAxis = -40, 120, 9 + yAxis = 0, 2, 11 + xBins = iatFuelCorrBins, intake + yBins = iatFuelCorr + gauge = IATGauge + + curve = cltTimingCorrCurve, "Warmup timing correction" + columnLabel = "Coolant", "Extra" + xAxis = -40, 120, 9 + yAxis = 0, 20, 9 + xBins = cltTimingBins, coolant + yBins = cltTimingExtra + gauge = CLTGauge + + curve = cltFuelCorrCurve, "Warmup fuel manual Multiplier" + columnLabel = "Coolant", "Multiplier" + xAxis = -40, 120, 9 + yAxis = 0, 3, 10 + xBins = cltFuelCorrBins, coolant + yBins = cltFuelCorr + gauge = CLTGauge + + curve = crankingCltCurve, "Cranking Coolant Temperature Multiplier" + columnLabel = "Coolant", "Multiplier" + xAxis = -40, 120, 9 + yAxis = 0, 3, 10 + xBins = crankingFuelBins, coolant + yBins = crankingFuelCoef + gauge = CLTGauge + + curve = crankingCltCurveE100, "Cranking Coolant Temperature Multiplier (Flex Fuel E85)" + columnLabel = "Coolant", "Multiplier" + xAxis = -40, 120, 9 + yAxis = 0, 3, 10 + xBins = crankingFuelBins, coolant + yBins = crankingFuelCoefE100 + gauge = CLTGauge + + curve = cltRevLimitCurve, "" + columnLabel = "Coolant", "RPM Limit" + xAxis = -40, 120, 9 + yAxis = 0, 8000, 9 + xBins = cltRevLimitRpmBins, coolant + yBins = cltRevLimitRpm + gauge = CLTGauge + + curve = etbTpsBiasCurve, "Electronic TB Bias Curve" + columnLabel = "TPS", "duty bias" + xAxis = 0, 50, 11 + yAxis = -40, 40, 9 + xBins = etbBiasBins, TPSValue + yBins = etbBiasValues + gauge = TPSGauge + + curve = crankingTpsCurve, "Cranking TPS Multiplier" + columnLabel = "TPS", "Multiplier" + xAxis = 0, 100, 11 + yAxis = 0, 3, 10 + xBins = crankingTpsBins, TPSValue + yBins = crankingTpsCoef + gauge = TPSGauge + + curve = crankingDurationCurve, "Cranking Duration Multiplier" + columnLabel = "Engine Cycle", "Multiplier" + xAxis = 0, 50, 11 + yAxis = 0, 5, 6 + xBins = crankingCycleBins + yBins = crankingCycleCoef + + + curve = cltIdleCurve, "Warmup Idle multiplier" + columnLabel = "Coolant", "Multiplier" + xAxis = -40, 120, 10 + yAxis = 0, 3, 10 + xBins = cltIdleCorrBins, coolant + yBins = cltIdleCorr + gauge = CLTGauge + + curve = iacCoastingCurve, "Coasting IAC Position" + columnLabel = "RPM", "Multiplier" + xAxis = -40, 120, 9 + yAxis = 0, 100, 10 + xBins = iacCoastingRpmBins, RPMValue + yBins = iacCoasting + gauge = idleAirValvePositionGauge + + curve = cltCrankingCurve, "Cranking Idle Air multiplier" + columnLabel = "Coolant", "Multiplier" + xAxis = -40, 120, 9 + yAxis = 0, 3, 10 + xBins = cltCrankingCorrBins, coolant + yBins = cltCrankingCorr + gauge = CLTGauge + + curve = cltIdleRPMCurve, "Idle Target RPM" + columnLabel = "Coolant", "RPM" + xAxis = -40, 120, 9 + yAxis = 0, 2400, 13 + xBins = cltIdleRpmBins, coolant + yBins = cltIdleRpm, RPMValue + gauge = CLTGauge + + curve = idleAdvanceCurve, "Idle Advance Angle" + columnLabel = "RPM", "degrees" + xAxis = 0, 2400, 13 + yAxis = -100, 100, 11 + xBins = idleAdvanceBins, RPMValue + yBins = idleAdvance + gauge = RPMGauge + + curve = crankingAdvanceCurve, "Cranking Advance Angle" + columnLabel = "RPM", "degrees" + xAxis = 0, 1200, 13 + yAxis = -30, 30, 11 + xBins = crankingAdvanceBins, RPMValue + yBins = crankingAdvance + gauge = RPMGauge + + curve = fuelLevelCurve, "Fuel Level" + columnLabel = "Voltage", "%" + xAxis = 0, 5, 6 + yAxis = 0, 100, 11 + xBins = fuelLevelBins + yBins = fuelLevelValues + gauge = fuelTankLevelGauge + + curve = wueAfrTargetOffsetCurve, "AFR Target Temperature Adjustment" + columnLabel = "Coolant", "AFR Offset" + xAxis = -40, 200, 9 + yAxis = -3, 1, 5 + xBins = cltFuelCorrBins, coolant + yBins = wueAfrTargetOffset + gauge = cltGauge + + curve = wueAnalyzer_warmup_curve, "Warmup Enrichment" + columnLabel = "Coolant", "Current WUE", "Coolant", "Corrected" + xAxis = -40, 200, 9 + yAxis = 90, 500, 6 + xBins = cltFuelCorrBins, coolant + yBins = cltFuelCorr + yBins = wueAnalRecommend + + lineLabel = "Warmup Correction" + lineLabel = "Recommended WUE" + + curve = hpfpLobeProfileCurve, "HPFP Lobe Profile" + columnLabel = "% pump volume", "angle" + xAxis = 0, 100, 11 + yAxis = 0, 240, 13 + xBins = hpfpLobeProfileQuantityBins + yBins = hpfpLobeProfileAngle + + curve = hpfpDeadtimeCurve, "HPFP Valve Deadtime" + columnLabel = "volts", "ms" + xAxis = 5, 15, 11 + yAxis = 0, 5, 6 + xBins = hpfpDeadtimeVoltsBins + yBins = hpfpDeadtimeMS + + curve = wwTauCltCurve, "Evap time vs. CLT" + columnLabel = "coolant", "seconds" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwTauCltValues + gauge = CLTGauge + + curve = wwTauMapCurve, "Evap time vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwTauMapValues + gauge = MAPGauge + + curve = wwBetaCltCurve, "Impact fraction vs. CLT" + columnLabel = "coolant", "fraction" + xAxis = -40, 120, 9 + yAxis = 0, 2, 9 + xBins = wwCltBins, coolant + yBins = wwBetaCltValues + gauge = CLTGauge + + curve = wwBetaMapCurve, "Impact fraction vs. MAP" + columnLabel = "MAP", "mult" + xAxis = 0, 100, 5 + yAxis = 0, 2, 9 + xBins = wwMapBins, MAPValue + yBins = wwBetaMapValues + gauge = MAPGauge + + curve = tchargeCurve, "Charge temperature estimation coefficient" + columnLabel = "flow", "coefficient" + xAxis = 0, 500, 6 + yAxis = 0, 100, 5 + xBins = tchargeBins, mafEstimate + yBins = tchargeValues + gauge = tChargeGauge + + curve = tccLockCurve, "TCC Lock Curve" + columnLabel = "TPS", "Lock Speed", "Unlock Speed" + xAxis = 0, 100, 10 + yAxis = 0, 100, 10 + xBins = tcu_tccTpsBins, TPSValue + yBins = tcu_tccLockSpeed + yBins = tcu_tccUnlockSpeed + gauge = TPSGauge + + curve = pcPerGearCurve, "Transmission Line Pressure Control" + columnLabel = "Airmass", "" + xAxis = 0, 5, 10 + yAxis = 0, 100, 10 + xBins = tcu_pcAirmassBins, chargeAirMass + yBins = tcu_pcValsR + yBins = tcu_pcValsN + yBins = tcu_pcVals1 + yBins = tcu_pcVals2 + yBins = tcu_pcVals3 + yBins = tcu_pcVals4 + lineLabel = "R%" + lineLabel = "N%" + lineLabel = "1%" + lineLabel = "2%" + lineLabel = "3%" + lineLabel = "4%" + +curve = pcPerShiftCurve, "Transmission Line Pressure Control - Shift" + columnLabel = "Airmass", "" + xAxis = 0, 5, 10 + yAxis = 0, 100, 10 + xBins = tcu_pcAirmassBins, chargeAirMass + yBins = tcu_pcVals12 + yBins = tcu_pcVals23 + yBins = tcu_pcVals34 + yBins = tcu_pcVals21 + yBins = tcu_pcVals32 + yBins = tcu_pcVals43 + lineLabel = "1->2%" + lineLabel = "2->3%" + lineLabel = "3->4%" + lineLabel = "2->1%" + lineLabel = "3->2%" + lineLabel = "4->3%" + +curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" + columnLabel = "Speed", "%" + xAxis = 0, 200, 20 + yAxis = 0, 100, 10 + xBins = tcu_32SpeedBins, vehicleSpeedKph + yBins = tcu_32Vals + + curve = ignAdder1Bias, "Ignition adder 1 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = ignBlends1_blendBins, ignBlendParameter1 + yBins = ignBlends1_blendValues + + curve = ignAdder2Bias, "Ignition adder 2 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = ignBlends2_blendBins, ignBlendParameter2 + yBins = ignBlends2_blendValues + + curve = ignAdder3Bias, "Ignition adder 3 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = ignBlends3_blendBins, ignBlendParameter3 + yBins = ignBlends3_blendValues + + curve = ignAdder4Bias, "Ignition adder 4 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = ignBlends4_blendBins, ignBlendParameter4 + yBins = ignBlends4_blendValues + + curve = veBlend1Bias, "VE blend 1 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = veBlends1_blendBins, veBlendParameter1 + yBins = veBlends1_blendValues + + curve = veBlend2Bias, "VE blend 2 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = veBlends2_blendBins, veBlendParameter2 + yBins = veBlends2_blendValues + + curve = veBlend3Bias, "VE blend 3 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = veBlends3_blendBins, veBlendParameter3 + yBins = veBlends3_blendValues + + curve = veBlend4Bias, "VE blend 4 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = veBlends4_blendBins, veBlendParameter4 + yBins = veBlends4_blendValues + + curve = boostOpenLoopBlend1Bias, "Boost open loop blend 1 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = boostOpenLoopBlends1_blendBins, boostOpenLoopBlendParameter1 + yBins = boostOpenLoopBlends1_blendValues + + curve = boostOpenLoopBlend2Bias, "Boost open loop blend 2 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = boostOpenLoopBlends2_blendBins, boostOpenLoopBlendParameter2 + yBins = boostOpenLoopBlends2_blendValues + + curve = boostClosedLoopBlend1Bias, "Boost Closed loop blend 1 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = boostClosedLoopBlends1_blendBins, boostClosedLoopBlendParameter1 + yBins = boostClosedLoopBlends1_blendValues + + curve = boostClosedLoopBlend2Bias, "Boost Closed loop blend 2 bias" + columnLabel = "param", "bias" + xAxis = 0, 100, 11 + yAxis = 0, 100, 5 + xBins = boostClosedLoopBlends2_blendBins, boostClosedLoopBlendParameter2 + yBins = boostClosedLoopBlends2_blendValues + + curve = throttleEffectiveArea, "Throttle effective area" + columnLabel = "TPS", "normalized flow" + xAxis = 0, 100, 11 + yAxis = 0, 2, 5 + xBins = throttleEstimateEffectiveAreaBins, TPSValue + yBins = throttleEstimateEffectiveAreaValues + gauge = TPSGauge + +[TableEditor] + ; table_id, map3d_id, "title", page + +; move table into a panel? or find a way to add a link to https://rusefi.com//wiki/index.php?title=Manual:Software:TPSTPS + table = tpsTpsAccelTbl, tpsTpsAccelMap, "TPS/TPS Acceleration Extra Fuel(ms)", 1 + topicHelp = "tpstpsHelp" + xBins = tpsTpsAccelFromRpmBins, TPSValue + yBins = tpsTpsAccelToRpmBins, TPSValue + zBins = tpsTpsAccelTable + + table = boostTableTbl, boostMapOpen, "Boost control duty cycle (open loop)", 1 + xBins = boostRpmBins, RPMValue + yBins = boostTpsBins, TPSValue + zBins = boostTableOpenLoop + + table = boostTable2Tbl, boostMapClosed, "Boost control target (kPa)", 1 + xBins = boostRpmBins, RPMValue + yBins = boostTpsBins, TPSValue + zBins = boostTableClosedLoop + + table = vvtTable1Tbl, vvtTable1Map, "Intake VVT closed loop Target", 1 + xBins = vvtTable1RpmBins, RPMValue + yBins = vvtTable1LoadBins, fuelingLoad + zBins = vvtTable1 + + table = vvtTable2Tbl, vvtTable2Map, "Exhaust VVT closed loop Target", 1 + xBins = vvtTable2RpmBins, RPMValue + yBins = vvtTable2LoadBins, fuelingLoad + zBins = vvtTable2 + + + table = scriptTable1Tbl, scriptTable1Map, "Script Table #1", 1 + xBins = scriptTable1RpmBins, RPMValue + yBins = scriptTable1LoadBins, fuelingLoad + zBins = scriptTable1 + + table = scriptTable2Tbl, scriptTable2Map, "Script Table #2", 1 + xBins = scriptTable2RpmBins, RPMValue + yBins = scriptTable2LoadBins, fuelingLoad + zBins = scriptTable2 + + table = scriptTable3Tbl, scriptTable3Map, "Script Table #3", 1 + xBins = scriptTable3RpmBins, RPMValue + yBins = scriptTable3LoadBins, fuelingLoad + zBins = scriptTable3 + + table = scriptTable4Tbl, scriptTable4Map, "Script Table #4", 1 + xBins = scriptTable4RpmBins, RPMValue + yBins = scriptTable4LoadBins, fuelingLoad + zBins = scriptTable4 + + table = IgnRetardTableALS, IgnRetardALS, "Ignition adjustment", 1 + xBins = alsIgnRetardrpmBins, RPMValue + yBins = alsIgnRetardLoadBins, TPSValue + zBins = ALSTimingRetardTable + gridHeight = 4.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = FuelAdderTableALS, FuelAdderALS, "Fuel adjustment", 1 + xBins = alsFuelAdjustmentrpmBins, RPMValue + yBins = alsFuelAdjustmentLoadBins, TPSValue + zBins = ALSFuelAdjustment + gridHeight = 4.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = baroCorrTbl, baroCorrMap, "Baro Correction", 1 + xBins = baroCorrRpmBins, RPMValue + yBins = baroCorrPressureBins, baroPressure + zBins = baroCorrTable + ; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = ignitionTableTbl, ignitionTableMap, "Ignition Table", 1 + xBins = ignitionRpmBins, RPMValue + yBins = ignitionLoadBins, ignitionLoad + zBins = ignitionTable +; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = ignAdder1Table, ignAdder1Map, "Ignition adder 1", 1 + xBins = ignBlends1_rpmBins, RPMValue + yBins = ignBlends1_loadBins, ignitionLoad + zBins = ignBlends1_table + gridOrient = 250, 0, 340 + + table = ignAdder2Table, ignAdder2Map, "Ignition adder 2", 1 + xBins = ignBlends2_rpmBins, RPMValue + yBins = ignBlends2_loadBins, ignitionLoad + zBins = ignBlends2_table + gridOrient = 250, 0, 340 + + table = ignAdder3Table, ignAdder3Map, "Ignition adder 3", 1 + xBins = ignBlends3_rpmBins, RPMValue + yBins = ignBlends3_loadBins, ignitionLoad + zBins = ignBlends3_table + gridOrient = 250, 0, 340 + + table = ignAdder4Table, ignAdder4Map, "Ignition adder 4", 1 + xBins = ignBlends4_rpmBins, RPMValue + yBins = ignBlends4_loadBins, ignitionLoad + zBins = ignBlends4_table + gridOrient = 250, 0, 340 + + table = veBlend1Table, veBlend1Map, "VE blend 1", 1 + xBins = veBlends1_rpmBins, RPMValue + yBins = veBlends1_loadBins, fuelingLoad + zBins = veBlends1_table + gridOrient = 250, 0, 340 + + table = veBlend2Table, veBlend2Map, "VE blend 2", 1 + xBins = veBlends2_rpmBins, RPMValue + yBins = veBlends2_loadBins, fuelingLoad + zBins = veBlends2_table + gridOrient = 250, 0, 340 + + table = veBlend3Table, veBlend3Map, "VE blend 3", 1 + xBins = veBlends3_rpmBins, RPMValue + yBins = veBlends3_loadBins, fuelingLoad + zBins = veBlends3_table + gridOrient = 250, 0, 340 + + table = veBlend4Table, veBlend4Map, "VE blend 4", 1 + xBins = veBlends4_rpmBins, RPMValue + yBins = veBlends4_loadBins, fuelingLoad + zBins = veBlends4_table + gridOrient = 250, 0, 340 + + table = boostOpenBlend1Table, boostOpenBlend1Map, "Boost open loop blend 1", 1 + xBins = boostOpenLoopBlends1_rpmBins, RPMValue + yBins = boostOpenLoopBlends1_loadBins, TPSValue + zBins = boostOpenLoopBlends1_table + gridOrient = 250, 0, 340 + + table = boostOpenBlend2Table, boostOpenBlend2Map, "Boost open loop blend 2", 1 + xBins = boostOpenLoopBlends2_rpmBins, RPMValue + yBins = boostOpenLoopBlends2_loadBins, TPSValue + zBins = boostOpenLoopBlends2_table + gridOrient = 250, 0, 340 + + table = boostClosedBlend1Table, boostClosedBlend1Map, "Boost closed loop blend 1", 1 + xBins = boostClosedLoopBlends1_rpmBins, RPMValue + yBins = boostClosedLoopBlends1_loadBins, TPSValue + zBins = boostClosedLoopBlends1_table + gridOrient = 250, 0, 340 + + table = boostClosedBlend2Table, boostClosedBlend2Map, "Boost closed loop blend 2", 1 + xBins = boostClosedLoopBlends2_rpmBins, RPMValue + yBins = boostClosedLoopBlends2_loadBins, TPSValue + zBins = boostClosedLoopBlends2_table + gridOrient = 250, 0, 340 + + table = ignitionIatCorrTableTbl, ignitionIatCorrTableMap, "Ignition Intake Air Temp correction", 1 + xBins = ignitionIatCorrTempBins, intake + yBins = ignitionIatCorrLoadBins, ignitionLoad + zBins = ignitionIatCorrTable +; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = veTableTbl, veTableMap, "VE Table", 1 + xyLabels = "RPM", "load" + xBins = veRpmBins, RPMValue + yBins = veLoadBins, veTableYAxis + zBins = veTable +; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = idleVeTableTbl, idleVeTable, "Idle VE" + xyLabels = "RPM", "load" + xBins = idleVeRpmBins, RPMValue + yBins = idleVeLoadBins, veTableYAxis + zBins = idleVeTable + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl1, fuelTrimMap1, "Fuel trim cyl 1", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims1_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl2, fuelTrimMap2, "Fuel trim cyl 2", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims2_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl3, fuelTrimMap3, "Fuel trim cyl 3", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims3_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl4, fuelTrimMap4, "Fuel trim cyl 4", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims4_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl5, fuelTrimMap5, "Fuel trim cyl 5", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims5_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl6, fuelTrimMap6, "Fuel trim cyl 6", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims6_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl7, fuelTrimMap7, "Fuel trim cyl 7", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims7_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl8, fuelTrimMap8, "Fuel trim cyl 8", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims8_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl9, fuelTrimMap9, "Fuel trim cyl 9", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims9_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl10, fuelTrimMap10, "Fuel trim cyl 10", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims10_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl11, fuelTrimMap11, "Fuel trim cyl 11", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims11_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = fuelTrimTbl12, fuelTrimMap12, "Fuel trim cyl 12", 1 + xBins = fuelTrimRpmBins, RPMValue + yBins = fuelTrimLoadBins, veTableYAxis + zBins = fuelTrims12_table + upDownLabel = "(RICHER)", "(LEANER)" + + table = ignTrimTbl1, ignTrimMap1, "Ign trim cyl 1", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims1_table + + table = ignTrimTbl2, ignTrimMap2, "Ign trim cyl 2", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims2_table + + table = ignTrimTbl3, ignTrimMap3, "Ign trim cyl 3", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims3_table + + table = ignTrimTbl4, ignTrimMap4, "Ign trim cyl 4", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims4_table + + table = ignTrimTbl5, ignTrimMap5, "Ign trim cyl 5", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims5_table + + table = ignTrimTbl6, ignTrimMap6, "Ign trim cyl 6", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims6_table + + table = ignTrimTbl7, ignTrimMap7, "Ign trim cyl 7", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims7_table + + table = ignTrimTbl8, ignTrimMap8, "Ign trim cyl 8", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims8_table + + table = ignTrimTbl9, ignTrimMap9, "Ign trim cyl 9", 1 + xBins =ignTrimRpmBins, RPMValue + yBins =ignTrimLoadBins, ignitionLoad + zBins =ignTrims9_table + + table = ignTrimTbl10, ignTrimMap10, "Ign trim cyl 10", 1 + xBins = ignTrimRpmBins, RPMValue + yBins = ignTrimLoadBins, ignitionLoad + zBins = ignTrims10_table + + table = ignTrimTbl11, ignTrimMap11, "Ign trim cyl 11", 1 + xBins = ignTrimRpmBins, RPMValue + yBins = ignTrimLoadBins, ignitionLoad + zBins = ignTrims11_table + + table = ignTrimTbl12, ignTrimMap12, "Ign trim cyl 12", 1 + xBins = ignTrimRpmBins, RPMValue + yBins = ignTrimLoadBins, ignitionLoad + zBins = ignTrims12_table + + table = mapEstimateTableTbl, mapEstimateTableMap, "MAP Estimate", 1 + xBins = mapEstimateRpmBins, RPMValue + yBins = mapEstimateTpsBins, TPSValue + zBins = mapEstimateTable + + table = injPhaseTableTbl, injPhaseTableMap, "Injection Phase", 1 + topicHelp = "fuelHelp" + xBins = injPhaseRpmBins, RPMValue + yBins = injPhaseLoadBins, fuelingLoad + zBins = injectionPhase +; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(Later)", "(Sooner)" + + table = pedalToTpsTbl, pedalToTpsMap, "ETB Pedal to TPS", 1 + xBins = pedalToTpsRpmBins, RPMValue + yBins = pedalToTpsPedalBins, throttlePedalPosition + zBins = pedalToTpsTable +; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(Later)", "(Sooner)" + + table = throttle2TrimTbl, throttle2TrimMap, "ETB #2 Trim", 1 + xBins = throttle2TrimRpmBins, RPMValue + yBins = throttle2TrimTpsBins, TPSValue + zBins = throttle2TrimTable + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + + table = maxKnockRetardTbl, maxKnockRetardMap, "Max knock retard", 1 + xBins = maxKnockRetardRpmBins, RPMValue + yBins = maxKnockRetardLoadBins, ignitionLoad + zBins = maxKnockRetardTable + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + +#if LAMBDA + table = lambdaTableTbl, lambdaTableMap, "Target Lambda Table", 1 +#else + table = afrTableTbl, afrTableMap, "Target AFR Table", 1 +#endif + xBins = lambdaRpmBins, RPMValue + yBins = lambdaLoadBins, afrTableYAxis + zBins = lambdaTable +; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(RICHER)", "(LEANER)" + + table = lambdaMaxDeviationTableTbl, lambdaMaxDeviationTableMap, "Maximum Lambda Deviation", 1 + xyLabels = "RPM", "" + xBins = lambdaMaxDeviationRpmBins, RPMValue + yBins = lambdaMaxDeviationLoadBins, afrTableYAxis + zBins = lambdaMaxDeviationTable + + table = iacPidMultTbl, iacPidMultMap, "IAC PID Multiplier Table", 1 + xBins = iacPidMultRpmBins, RPMValue + yBins = iacPidMultLoadBins, fuelingLoad + zBins = iacPidMultTable +; gridHeight = 2.0 + gridOrient = 250, 0, 340 ; Space 123 rotation of grid in degrees. + upDownLabel = "(Later)", "(Sooner)" + + table = gppwm1Tbl, gppwm1Map, "GP#1", 1 + xyLabels = "RPM", "" + xBins = gppwm1_rpmBins, gppwmXAxis1 + yBins = gppwm1_loadBins, gppwmYAxis1 + zBins = gppwm1_table + + table = gppwm2Tbl, gppwm2Map, "GP#2", 1 + xyLabels = "RPM", "" + xBins = gppwm2_rpmBins, gppwmXAxis2 + yBins = gppwm2_loadBins, gppwmYAxis2 + zBins = gppwm2_table + + table = gppwm3Tbl, gppwm3Map, "GP#3", 1 + xyLabels = "RPM", "" + xBins = gppwm3_rpmBins, gppwmXAxis3 + yBins = gppwm3_loadBins, gppwmYAxis3 + zBins = gppwm3_table + + table = gppwm4Tbl, gppwm4Map, "GP#4", 1 + xyLabels = "RPM", "" + xBins = gppwm4_rpmBins, gppwmXAxis4 + yBins = gppwm4_loadBins, gppwmYAxis4 + zBins = gppwm4_table + + table = tcuSolenoidTableTbl, tcuSolenoidTableMap, "Solenoids Active By Gear", 1 + xBins = solenoidCountArray, tcuCurrentGear + yBins = gearCountArray, tcuCurrentGear + zBins = tcuSolenoidTable + xyLabels = "Solenoid", "Gear" + + table = hpfpTargetTable, hpfpTargetTableId, "HPFP Target Fuel Pressure", 1 + xBins = hpfpTargetRpmBins, RPMValue + yBins = hpfpTargetLoadBins, veTableYAxis + zBins = hpfpTarget + + table = hpfpCompensationTable, hpfpCompensationTableId, "HPFP Pump Compensation Factor", 1 + xBins = hpfpCompensationRpmBins, RPMValue + yBins = hpfpCompensationLoadBins, running_fuel + zBins = hpfpCompensation + + +[GaugeConfigurations] +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + +gaugeCategory = Trigger + triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 + triggerSyncGapRatioGauge = triggerSyncGapRatio,"triggerSyncGapRatio", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + triggerStateIndexGauge = triggerStateIndex,"triggerStateIndex", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + vvtSyncGapRatioGauge = vvtSyncGapRatio,"vvtSyncGapRatio", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + vvtStateIndexGauge = vvtStateIndex,"vvtStateIndex", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + triggerPrimaryFallGauge = triggerPrimaryFall,"triggerPrimaryFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + triggerPrimaryRiseGauge = triggerPrimaryRise,"triggerPrimaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + triggerSecondaryFallGauge = triggerSecondaryFall,"triggerSecondaryFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 + +gaugeCategory = Test Bench + testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 + testIgnIterGauge = testBenchIter, "Ignition Test Iterations", "count", 0, {ignTestCount}, 0, 0, {ignTestCount}, {ignTestCount}, 0, 0 + +gaugeCategory = LUA + luaInvocationCounterGauge = luaInvocationCounter,"luaInvocationCounter", "count", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + luaLastCycleDurationGauge = luaLastCycleDuration,"luaLastCycleDuration", "nt", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 + luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 + +gaugeCategory = Alternator Control + alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = Idle + idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 + idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + idleStatus_dTermGauge = idleStatus_dTerm,"Idle PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + idleStatus_outputGauge = idleStatus_output,"Idle PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = ETB PID + etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + etbStatus_errorGauge = etbStatus_error,"ETB 1 PID error", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + etbStatus_resetCounterGauge = etbStatus_resetCounter,"ETB 1 PID resetCounter", "", 0,100.0, 0,100.0, 0,100.0, 0,0 + + wgStatus_iTermGauge = wastegateDcStatus_iTerm,"WG PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + wgStatus_dTermGauge = wastegateDcStatus_dTerm,"WG PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + wgStatus_outputGauge = wastegateDcStatus_output,"WG PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + wgStatus_errorGauge = wastegateDcStatus_error,"WG PID error", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 + wgStatus_resetCounterGauge = wastegateDcStatus_resetCounter,"WG PID resetCounter", "", 0,100.0, 0,100.0, 0,100.0, 0,0 + +gaugeCategory = CAN + canReadCounterGauge = canReadCounter,"canReadCounter", "", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + canWriteOkGauge = canWriteOk,"canWriteOk", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + canWriteNotOkGauge = canWriteNotOk,"canWriteNotOk", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + +gaugeCategory = GDI + di_nextStartGauge = di_nextStart,"DI: next start", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 + m_requested_pumpGauge = m_requested_pump,"DI: Pump Angle", "deg", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + fuel_requested_percentGauge = fuel_requested_percent,"DI: fuel_requested_percent", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 + fuel_requested_percent_piGauge = fuel_requested_percent_pi,"DI: fuel_requested_percent_pi", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 + ;todo see comment in HpfpQuantity class definition + ;m_I_sum_percentGauge = m_I_sum_percent,"DI: m_I_sum_percent", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 + ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 + highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 + +gaugeCategory = ECU Status + warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 + lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode1Gauge = recentErrorCode1, "Error#1", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode2Gauge = recentErrorCode2, "Error#2", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode3Gauge = recentErrorCode3, "Error#3", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode4Gauge = recentErrorCode4, "Error#4", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode5Gauge = recentErrorCode5, "Error#5", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode6Gauge = recentErrorCode6, "Error#6", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode7Gauge = recentErrorCode7, "Error#7", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + recentErrorCode8Gauge = recentErrorCode8, "Error#8", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 + firmwareVersionGauge = firmwareVersion , "ECU Software Version", "%", 0, 100, 0, 0, 100, 100, 0, 0 + timeSecondsGauge = seconds, "Uptime", "sec", 0, 100, 0, 0, 100, 100, 0, 0 + tuneCrc16Gauge = tuneCrc16, "Tune CRC16", "", 0, 64000, 0, 0, 64000, 64000, 0, 0 + +gaugeCategory = Debug + debugF1Gauge = debugFloatField1, {bitStringValue( debugFieldF1List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4 + debugF2Gauge = debugFloatField2, {bitStringValue( debugFieldF2List, debugMode )}, "", -100, 100, 0, 0, 100, 100, 4, 4 + debugF3Gauge = debugFloatField3, {bitStringValue( debugFieldF3List, debugMode )}, "", -100, 100, 0, 0, 100, 100, 4, 4 + debugF4Gauge = debugFloatField4, {bitStringValue( debugFieldF4List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4 + debugF5Gauge = debugFloatField5, {bitStringValue( debugFieldF5List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4 + debugF6Gauge = debugFloatField6, {bitStringValue( debugFieldF6List, debugMode )}, "", -100, 100, 0, 0, 100, 100, 4, 4 + debugF7Gauge = debugFloatField7, {bitStringValue( debugFieldF7List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 4, 4 + debugI1Gauge = debugIntField1, {bitStringValue( debugFieldI1List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0 + debugI2Gauge = debugIntField2, {bitStringValue( debugFieldI2List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0 + debugI3Gauge = debugIntField3, {bitStringValue( debugFieldI3List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0 + debugI4Gauge = debugIntField4, {bitStringValue( debugFieldI4List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0 + debugI5Gauge = debugIntField5, {bitStringValue( debugFieldI5List, debugMode )}, "", 0, 100, 0, 0, 100, 100, 0, 0 + +gaugeCategory = Sensors - Basic + RPMGauge = RPMValue, "RPM - engine speed", "RPM", 0, {rpmHardLimit + 2000}, 200, {cranking_rpm}, {rpmHardLimit - 500}, {rpmHardLimit}, 0, 0 + CLTGauge = coolant, "Coolant temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 + IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 + afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 + lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 + VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 + MAPGauge = MAPValue, "MAP", "kPa", 0, 300, 10, 10, 200, 200, 0, 0 + massAirFlowValueGa = mafMeasured, "MAF", "kg/h", 0, 50, -999, -999, 999, 999, 1, 1 + +gaugeCategory = Sensors - Extra 1 + VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 + turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 + OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 + AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 + AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 + lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 + flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 + AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 + AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 + +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + +gaugeCategory = VVT + vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 + vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 + vvtPositionB2IGauge = vvtPositionB2I, "VVT: bank 2 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 + vvtPositionB2EGauge = vvtPositionB2E, "VVT: bank 2 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 + vvtTargets1Gauge = vvtTargets1, "VVT: bank 1 intake target", "deg", -60, 60, -60, -60, 60, 60, 0, 0 + vvtTargets2Gauge = vvtTargets2, "VVT: bank 1 exhaust target", "deg", -60, 60, -60, -60, 60, 60, 0, 0 + vvtTargets3Gauge = vvtTargets3, "VVT: bank 2 intake target", "deg", -60, 60, -60, -60, 60, 60, 0, 0 + vvtTargets4Gauge = vvtTargets4, "VVT: bank 2 exhaust target", "deg", -60, 60, -60, -60, 60, 60, 0, 0 + vvtOutput1Gauge = vvtStatus1_output, "vvt: output 1", "", 00, 100, -60, -60, 60, 60, 0, 0 + vvtOutput2Gauge = vvtStatus2_output, "vvt: output 2", "", 00, 100, -60, -60, 60, 60, 0, 0 + vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 + vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 + +gaugeCategory = Ignition + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 + ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + +gaugeCategory = Acceleration Enrichment + deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 + tpsAccelFuelGauge = tpsAccelFuel,"AE: TPS enrich", "ms", 0, 120, 10, 10, 100, 100, 1, 1 + wallFuelAmountGauge = wallFuelAmount, "AE: wall amount", "mg", 0, 100, 0, 0, 100, 100, 0, 0 + wallFuelCorrectionGauge = wallFuelCorrection, "AE: wall correction extra", "mg", -20, 20, -100, -100, 100, 100, 1, 1 + +gaugeCategory = Fueling + ;Name Var Title Units Lo Hi LoD LoW HiW HiD vd ld + fuelCutReasonGauge = fuelCutReason,"Fuel Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + tChargeGauge = sd_tCharge, "Fuel: Estimated charge temperature", "C", -40, 140, -15, 1, 95, 110, 1, 1 + baroCorrectionGauge = baroCorrection,"Fuel: Barometric pressure mult", "ratio", 0.5, 1.5, 0.6, 0.7, 1.3, 1.4, 1, 1 + crankingFuelGauge = crankingFuel_fuel, "Fuel: cranking", "mg", 0, 100, 0, 0, 100, 100, 3, 1 + iatCorrectionGauge = running_intakeTemperatureCoefficient, "Fuel: IAT correction", "mult", 0, 3, 0, 0, 3, 3, 2, 2 + cltCorrectionGauge = running_coolantTemperatureCoefficient, "Fuel: CLT correction", "mult", 0, 3, 0, 0, 3, 3, 2, 2 + injectorDutyCycleGauge=injectorDutyCycle, "Fuel: injector duty cycle","%", 0, 120, 10, 10, 100, 100, 1, 1 + actualLastInjectionGauge = actualLastInjection, "Fuel: Last inj pulse width", "mSec", 0, 25.5, 1.0, 1.2, 20, 25, 3, 1 + veValueGauge = veValue, "fuel: VE", "", 0, 120, 10, 10, 100, 100, 1, 1 + + injectorLagMsGauge = m_deadtime, "Fuel: injector lag", "mSec", 0, 10, 0, 0, 10, 10, 3, 1 + fuelRunningGauge = running_fuel, "Fuel: running", "mg", 0, 100, 0, 0, 100, 100, 3, 1 + baseFuelGauge = running_baseFuel, "Fuel: base cycle mass", "mg", 0, 100, 0, 0, 100, 100, 2, 0 + fuelPidCorrectionGauge = fuelPidCorrection1, "Fuel: fuel trim", "%", -10, 10, -8, -5, 5, 8, 3, 1 + fuelPidCorrectionGauge2= fuelPidCorrection2, "Fuel: fuel trim 2", "%", -10, 10, -8, -5, 5, 8, 3, 1 + fuelingLoadGauge = fuelingLoad, "Fuel: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + totalFuelConsumptionGauge = totalFuelConsumption, "Fuel: Total consumed", "g", 0, 10000, 0, 0, 10000, 10000, 0, 0 + fuelFlowRateGauge = fuelFlowRate, "Fuel: Flow rate", "g/s", 0, 50, 0, 0, 50, 50, 2, 0 + targetLambdaGauge = targetLambda,"fuel: target lambda", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + currentTargetAfrGauge = targetAFR,"fuel: target AFR", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 + +gaugeCategory = Throttle Body (incl. ETB) + pedalPositionGauge = throttlePedalPosition, "Throttle pedal position", "%", 0, 120, 0, 0, 100, 100, 1, 1 + tpsADCGauge = tpsADC, "tps1 ADC", "ADC", 0, 1024, 0, 0, 0, 0, 0, 0 + TPSGauge = TPSValue, "Throttle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 + TPS2Gauge = TPS2Value, "Throttle position #2", "%", 0, 100, 0, 0, 100, 100, 1, 1 + + etbTargetGauge = etbTarget, "ETB: position target", "%", 0, 100, 0, 0, 100, 100, 1, 1 + etbErrorGauge = etbStatus_error, "ETB: position error", "%", -20, 20, -10, -5, 5, 10, 2, 0 + etbDutyCycleGauge = etb1DutyCycle, "ETB: Duty", "%", -100, 100, -75, -50, 50, 75, 0, 0 + +gaugeCategory = Sensors - Raw + rawTps1PrimaryGauge = rawTps1Primary, "Raw TPS 1 Primary", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawTps1SecondaryGauge = rawTps1Secondary, "Raw TPS 1 Secondary", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawTps2PrimaryGauge = rawTps2Primary, "Raw TPS 2 Primary", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawTps2SecondaryGauge = rawTps2Secondary, "Raw TPS 2 Secondary", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput1Gauge = rawAnalogInput1, "Raw Aux 1", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput2Gauge = rawAnalogInput2, "Raw Aux 2", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput3Gauge = rawAnalogInput3, "Raw Aux 3", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput4Gauge = rawAnalogInput4, "Raw Aux 4", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput5Gauge = rawAnalogInput5, "Raw Aux 5", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput6Gauge = rawAnalogInput6, "Raw Aux 6", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput7Gauge = rawAnalogInput7, "Raw Aux 7", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAnalogInput8Gauge = rawAnalogInput8, "Raw Aux 8", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawPpsPrimaryGauge = rawPpsPrimary , "Raw Pedal Primary", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawPpsSecondaryGauge = rawPpsSecondary,"Raw Pedal Secondary","V",0, 5, 0, 0, 5, 5, 3, 0 + rawCltGauge = rawClt , "Raw CLT", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawBatteryGauge = rawBattery , "Raw Battery", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawIatGauge = rawIat , "Raw IAT", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawOilPressureGauge = rawOilPressure, "Raw Oil Pressure", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawWastegatePositionGauge = rawWastegatePosition,"Raw Wastegate Position","V", 0, 5, 0, 0, 5, 5, 3, 0 + rawLowFuelPressureGauge = rawLowFuelPressure,"Raw fuel pressure (low) voltage","V", 0, 5, 0, 0, 5, 5, 3, 0 + rawHighFuelPressureGauge = rawHighFuelPressure,"Raw fuel pressure (high) voltage","V", 0, 5, 0, 0, 5, 5, 3, 0 + rawMafGauge = rawMaf , "Raw MAF", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawMapGauge = rawMap , "Raw MAP", "V", 0, 5, 0, 0, 5, 5, 3, 0 + rawAfrGauge = rawAfr , "Raw EGO", "V", 0, 5, 0, 0, 5, 5, 3, 0 + vssEdgeCounterGauge = vssEdgeCounter, "Raw VSS", "counter", 0, 5, 0, 0, 5, 5, 3, 0 + issEdgeCounterGauge = issEdgeCounter, "Raw ISS", "counter", 0, 5, 0, 0, 5, 5, 3, 0 + +gaugeCategory = Transmission + desiredGearGauge = tcuDesiredGear, "TCU: Desired Gear", "gear", -1, 10, -1, -1, 10, 10, 0, 0 + currentGearGauge = tcuCurrentGear, "Current Gear", "gear", -1, 10, -1, -1, 10, 10, 0, 0 + detectedGearGauge = detectedGear, "Detected Gear", "gear", 0, 8, 0, 0, 8, 8, 0, 0 + speedToRpmRatioGauge = speedToRpmRatio, "Gearbox Ratio", "", 0, 100, 0, 0, 100, 100, 4, 4 + ISSGauge = ISSValue, "TCU: Input Shaft Speed", "RPM", 0, {rpmHardLimit + 2000}, 200, {cranking_rpm}, {rpmHardLimit - 500}, {rpmHardLimit}, 0, 0 + tcRatioGauge = tcRatio, "TCU: Torque Converter Ratio", "", 0, 100, 0, 0, 100, 100, 4, 4 + shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 + +gaugeCategory = Knock + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + +gaugeCategory = DynoView + accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 + +gaugeCategory = GPPWM Outputs + gppwmGauge1 = gppwmOutput1, { stringValue(gpPwmNote1) }, "%", 0, 100, 0, 0, 100, 100, 1, 1 + gppwmGauge2 = gppwmOutput2, { stringValue(gpPwmNote2) }, "%", 0, 100, 0, 0, 100, 100, 1, 1 + gppwmGauge3 = gppwmOutput3, { stringValue(gpPwmNote3) }, "%", 0, 100, 0, 0, 100, 100, 1, 1 + gppwmGauge4 = gppwmOutput4, { stringValue(gpPwmNote4) }, "%", 0, 100, 0, 0, 100, 100, 1, 1 + +[WueAnalyze] + +; wueCurveName, afrTempCompensationCurve, lambdaTargetTableName, lambdaChannel, coolantTempChannel, egoCorrectionChannel, wueChannel, activeCondition +#if LAMBDA + wueAnalyzeMap = wueAnalyzer_warmup_curve, wueAfrTargetOffsetCurve, lambdaTableTbl, lambdaValue, coolant, running_coolantTemperatureCoefficient, egoCorrectionForVeAnalyze + lambdaTargetTables = lambdaTableTbl, afrTSCustom +#else + wueAnalyzeMap = wueAnalyzer_warmup_curve, wueAfrTargetOffsetCurve, afrTableTbl, AFRValue, coolant, running_coolantTemperatureCoefficient, egoCorrectionForVeAnalyze + lambdaTargetTables = afrTableTbl, afrTSCustom +#endif + + wuePercentOffset = 0 ; for working with 0 based enrichment set to 100 + option = disableLiveUpdates + option = burnOnSend + +; filter = std_DeadLambda ; Auto build + + filter = decelFilterMap,"After Start Enrich", engine, & , 4 , , false + filter = accelFilterTp, "TP Accel Enrich" , engine, & , 16, , false + filter = decelFilterTp, "TP Decel Enrich" , engine, & , 32, , false + filter = accelFilterMap,"MAP Accel Enrich" , engine, & , 64, , false + filter = decelFilterMap,"MAP Decel Enrich" , engine, & , 128, , false + ; this works, just another way to skin a cat + ;filter = decelFilter, "Decel Flag" , tpsaccden, > , 0, , false + filter = overrunFilter, "Overrun" , pulseWidth1, = , 0, , false + filter = highThrottle, "High Throttle" , throttle, > , 15, , true + filter = lowRpm, "Low RPM" , rpm, < , 300, , false + filter = std_Custom ; Standard Custom Expression Filter. + + +[FrontPage] + ; Gauges are numbered left to right, top to bottom. + ; + ; 1 2 3 4 + ; 5 6 7 8 + + gauge1 = RPMGauge + gauge2 = CLTGauge + gauge3 = TPSGauge + gauge4 = MAPGauge +#if LAMBDA + gauge5 = lambda1Gauge +#else + gauge5 = afr1Gauge +#endif + gauge6 = VBattGauge + gauge7 = dwellGauge + gauge8 = ignadvGauge + + ; = expression, off-label, on-label, off-bg, off-fg, on-bg, on-fg + ; Line 1 + ; important status + ; todo: do we want to drop this line since we have "config error" feature thing below? + indicator = { hasCriticalError }, "No errors", "CRITICAL ERROR", white, black, red, black + indicator = { needBurn }, "Settings saved", "Unsaved changes", white, black, yellow, black + indicator = { isWarnNow }, "No warnings", "Warning", white, black, yellow, black + indicator = { checkEngine }, "No Check Engine", "Check Engine", white, black, red, black + indicator = { isTriggerError}, "Trigger OK", "Trigger ERR", white, black, red, black + indicator = { fuelCutReason != 0 }, "Injection OK", { Fuel cut: bitStringValue(fuelIgnCutCodeList, fuelCutReason)}, white, black, yellow, black + indicator = { sparkCutReason != 0 }, "Ignition OK", { Ign cut: bitStringValue(fuelIgnCutCodeList, sparkCutReason)}, white, black, yellow, black + indicator = { etbErrorCode != 0 }, "ETB OK", { ETB: bitStringValue(etbCutCodeList, etbErrorCode)}, white, black, yellow, black + + ; this is required so that the "config error" feature works in TS + ; DO NOT CHANGE THIS LINE - TS is looking for an indicator with particular text/styling + ; you don't even have to show it by default + ; DO NOT CHANGE THIS LINE + ; DO NOT CHANGE THIS LINE + indicator = { hasCriticalError }, "Config Error", "Config Error", white, black, red, black + ; DO NOT CHANGE THIS LINE + ; DO NOT CHANGE THIS LINE + + ; minor info + indicator = { isFanOn }, "Fan off", "Fan on", white, black, green, black + indicator = { isFan2On }, "Fan 2 off", "Fan 2 on", white, black, green, black + indicator = { isMainRelayOn }, "Main relay off", "Main relay on", white, black, green, black + ; Line 2 + ; = expression, off-label, on-label, off-bg, off-fg, on-bg, on-fg + indicator = { isFuelPumpOn }, "Fuel pump off", "Fuel pump on", white, black, green, black + indicator = { clutchUpState }, "No clutch Up", "Clutch Up", white, black, red, black + indicator = { clutchDownState }, "No clutch down", "Clutch down", white, black, yellow, black + indicator = { brakePedalState }, "No braking", "Brake down", white, black, red, black + indicator = { acButtonState }, "AC Switch off", "AC Switch on", white, black, blue, white + indicator = { m_acEnabled }, "AC Relay off", "AC Relay on", white, black, blue, white + indicator = { isIdleClosedLoop }, "Not idling", "Idling", white, black, green, black + indicator = { isIdleCoasting }, "Not coasting", "Coasting", white, black, green, black + indicator = { dfcoActive }, "Not decel fuel cut", "Decel fuel cut", white, black, yellow, black + indicator = { isAboveAccelThreshold }, "No TPS accel", "TPS accel active", white, black, yellow, black + ; error codes + indicator = { isTpsError }, "TPS OK", "TPS error", white, black, red, black + + ; Line 3 + ; = expression, off-label, on-label, off-bg, off-fg, on-bg, on-fg + indicator = { isTps2Error }, "TPS 2 OK", "TPS 2 error", white, black, red, black + indicator = { isPedalError }, "Pedal OK", "Pedal error", white, black, red, black + indicator = { isCltError }, "CLT OK", "CLT error", white, black, red, black + indicator = { isIatError }, "IAT OK", "IAT error", white, black, red, black + ; not implemented + ; indicator = { ind_map_error}, "map", "map error", white, black, red, black + indicator = { sd_present }, "No SD card", "SD card present", white, black, green, black + indicator = { sd_logging_internal }, "No SD logging", "SD logging", white, black, green, black + indicator = { sd_msd }, "No SD USB", "SD USB", white, black, green, black + indicator = { etbRevLimitActive }, "No ETB RPM Limit", "ETB RPM Limit", white, black, yellow, black + + indicator = { wbo0_hasFault }, { WBO0: bitStringValue(wboFaultCodeList, faultCode)}, { WBO0: bitStringValue(wboFaultCodeList, faultCode)}, white, black, red, black + + ; TODO https://github.com/FOME-Tech/fome-fw/issues/85 not sure why these indicators don't work + ; indicator = { isInjectionEnabled && fuelCutReason == 0 }, { Inj: bitStringValue(injModeList, currentInjectionMode) }, { Inj: bitStringValue(injModeList, currentInjectionMode) }, white, black, white, black + ; indicator = { isIgnitionEnabled && sparkCutReason == 0 }, { Ign: bitStringValue(ignModeList, currentIgnitionMode) }, { Ign: bitStringValue(ignModeList, currentIgnitionMode) }, white, black, white, black + +; looks like TS would append four system indicators below: Data Logging, ???, Not Connected, Protocol Error + +[KeyActions] + showPanel = spi, spiFunction + showPanel = con, connection + +; +; this section defines how we log output channels +; see [OutputChannels] +; +[Datalog] + ; Channel Label Type Format + entry = time, "Time", float, "%.3f" +entry = sd_present, "SD: Present", int, "%d" +entry = sd_logging_internal, "SD: Logging", int, "%d" +entry = triggerScopeReady, "triggerScopeReady", int, "%d" +entry = antilagTriggered, "antilagTriggered", int, "%d" +entry = isFanOn, "Radiator Fan", int, "%d" +entry = isO2HeaterOn, "isO2HeaterOn", int, "%d" +entry = checkEngine, "checkEngine", int, "%d" +entry = needBurn, "needBurn", int, "%d" +entry = sd_msd, "SD: MSD", int, "%d" +entry = isFan2On, "Radiator Fan 2", int, "%d" +entry = acrActive, "Harley ACR: Active", int, "%d" +entry = toothLogReady, "Tooth Logger Ready", int, "%d" +entry = isTpsError, "Error: TPS", int, "%d" +entry = isCltError, "Error: CLT", int, "%d" +entry = isMapError, "Error: MAP", int, "%d" +entry = isIatError, "Error: IAT", int, "%d" +entry = isTriggerError, "Error: Trigger", int, "%d" +entry = hasCriticalError, "Error: Active", int, "%d" +entry = isWarnNow, "Warning: Active", int, "%d" +entry = isPedalError, "Error: Pedal", int, "%d" +entry = launchTriggered, "Launch Control Triggered", int, "%d" +entry = isTps2Error, "Error: TPS2", int, "%d" +entry = injectorFault, "Injector Fault", int, "%d" +entry = ignitionFault, "Ignition Fault", int, "%d" +entry = isMainRelayOn, "isMainRelayOn", int, "%d" +entry = isUsbConnected, "isUsbConnected", int, "%d" +entry = dfcoActive, "dfcoActive", int, "%d" +entry = RPMValue, "RPM", int, "%d" +entry = rpmAcceleration, "dRPM", int, "%d" +entry = speedToRpmRatio, "Gearbox Ratio", float, "%.3f" +entry = vehicleSpeedKph, "Vehicle Speed", int, "%d" +entry = internalMcuTemperature, "ECU temperature", int, "%d" +entry = coolant, "CLT", float, "%.3f" +entry = intake, "IAT", float, "%.3f" +entry = auxTemp1, "auxTemp1", float, "%.3f" +entry = auxTemp2, "auxTemp2", float, "%.3f" +entry = TPSValue, "TPS", float, "%.3f" +entry = throttlePedalPosition, "Throttle pedal position", float, "%.3f" +entry = tpsADC, "tpsADC", int, "%d" +entry = rawMaf, "rawMaf", float, "%.3f" +entry = mafMeasured, "MAF", float, "%.3f" +entry = MAPValue, "MAP", float, "%.3f" +entry = baroPressure, "baroPressure", float, "%.3f" +entry = lambdaValue, "Lambda", float, "%.3f" +entry = VBatt, "VBatt", float, "%.3f" +entry = oilPressure, "Oil Pressure", float, "%.3f" +entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" +entry = actualLastInjection, "Fuel: Last inj pulse width", float, "%.3f" +entry = injectorDutyCycle, "Fuel: injector duty cycle", float, "%.3f" +entry = veValue, "Fuel: VE", float, "%.3f" +entry = injectionOffset, "Fuel: Injection timing SOI", int, "%d" +entry = engineMakeCodeNameCrc16, "Engine CRC16", int, "%d" +entry = wallFuelAmount, "Fuel: wall amount", float, "%.3f" +entry = wallFuelCorrectionValue, "Fuel: wall correction", float, "%.3f" +entry = revolutionCounterSinceStart, "revolutionCounterSinceStart", int, "%d" +entry = canReadCounter, "CAN: Rx", int, "%d" +entry = tpsAccelFuel, "Fuel: TPS AE add fuel ms", float, "%.3f" +entry = ignitionAdvance, "Ign: Timing Base", float, "%.3f" +entry = currentIgnitionMode, "Ign: Mode", int, "%d" +entry = currentInjectionMode, "Fuel: Injection mode", int, "%d" +entry = coilDutyCycle, "Ign: Coil duty cycle", float, "%.3f" +entry = etbTarget, "ETB Target", float, "%.3f" +entry = etb1DutyCycle, "ETB: Duty", float, "%.3f" +entry = fuelTankLevel, "Fuel level", float, "%.3f" +entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" +entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" +entry = TPS2Value, "TPS2", float, "%.3f" +entry = tuneCrc16, "Tune CRC16", int, "%d" +entry = seconds, "Uptime", int, "%d" +entry = engineMode, "Engine Mode", int, "%d" +entry = firmwareVersion, "firmware", int, "%d" +entry = rawWastegatePosition, "rawWastegatePosition", float, "%.3f" +entry = accelerationX, "Acceleration: X", float, "%.3f" +entry = accelerationY, "Acceleration: Y", float, "%.3f" +entry = detectedGear, "Detected Gear", int, "%d" +entry = maxTriggerReentrant, "maxTriggerReentrant", int, "%d" +entry = rawLowFuelPressure, "rawLowFuelPressure", float, "%.3f" +entry = rawHighFuelPressure, "rawHighFuelPressure", float, "%.3f" +entry = lowFuelPressure, "Fuel pressure (low)", float, "%.3f" +entry = highFuelPressure, "Fuel pressure (high)", float, "%.3f" +entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" +entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" +entry = flexPercent, "Flex Ethanol %", float, "%.3f" +entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" +entry = calibrationValue, "calibrationValue", float, "%.3f" +entry = calibrationMode, "calibrationMode", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" +entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" +entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" +entry = warningCounter, "Warning: counter", int, "%d" +entry = lastErrorCode, "Warning: last", int, "%d" +entry = recentErrorCode1, "recentErrorCode 1", int, "%d" +entry = recentErrorCode2, "recentErrorCode 2", int, "%d" +entry = recentErrorCode3, "recentErrorCode 3", int, "%d" +entry = recentErrorCode4, "recentErrorCode 4", int, "%d" +entry = recentErrorCode5, "recentErrorCode 5", int, "%d" +entry = recentErrorCode6, "recentErrorCode 6", int, "%d" +entry = recentErrorCode7, "recentErrorCode 7", int, "%d" +entry = recentErrorCode8, "recentErrorCode 8", int, "%d" +entry = debugFloatField1, "debugFloatField1", float, "%.3f" +entry = debugFloatField2, "debugFloatField2", float, "%.3f" +entry = debugFloatField3, "debugFloatField3", float, "%.3f" +entry = debugFloatField4, "debugFloatField4", float, "%.3f" +entry = debugFloatField5, "debugFloatField5", float, "%.3f" +entry = debugFloatField6, "debugFloatField6", float, "%.3f" +entry = debugFloatField7, "debugFloatField7", float, "%.3f" +entry = debugIntField1, "debugIntField1", int, "%d" +entry = debugIntField2, "debugIntField2", int, "%d" +entry = debugIntField3, "debugIntField3", int, "%d" +entry = debugIntField4, "debugIntField4", int, "%d" +entry = debugIntField5, "debugIntField5", int, "%d" +entry = egt1, "EGT 1", int, "%d" +entry = egt2, "EGT 2", int, "%d" +entry = egt3, "EGT 3", int, "%d" +entry = egt4, "EGT 4", int, "%d" +entry = egt5, "EGT 5", int, "%d" +entry = egt6, "EGT 6", int, "%d" +entry = egt7, "EGT 7", int, "%d" +entry = egt8, "EGT 8", int, "%d" +entry = rawTps1Primary, "rawTps1Primary", float, "%.3f" +entry = rawPpsPrimary, "rawPpsPrimary", float, "%.3f" +entry = rawClt, "rawClt", float, "%.3f" +entry = rawIat, "rawIat", float, "%.3f" +entry = rawOilPressure, "rawOilPressure", float, "%.3f" +entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" +entry = tcuCurrentGear, "Current Gear", int, "%d" +entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" +entry = VssAcceleration, "Vss Accel", float, "%.3f" +entry = lambdaValue2, "Lambda 2", float, "%.3f" +entry = AFRValue2, "Air/Fuel Ratio 2", float, "%.3f" +entry = vvtPositionB1E, "VVT: bank 1 exhaust", float, "%.3f" +entry = vvtPositionB2I, "VVT: bank 2 intake", float, "%.3f" +entry = vvtPositionB2E, "VVT: bank 2 exhaust", float, "%.3f" +entry = fuelPidCorrection1, "Fuel: Trim bank 1", float, "%.3f" +entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" +entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" +entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" +entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" +entry = accelerationZ, "Acceleration: Z", float, "%.3f" +entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" +entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" +entry = vvtTargets1, "vvtTargets 1", int, "%d" +entry = vvtTargets2, "vvtTargets 2", int, "%d" +entry = vvtTargets3, "vvtTargets 3", int, "%d" +entry = vvtTargets4, "vvtTargets 4", int, "%d" +entry = turboSpeed, "Turbocharger Speed", int, "%d" +entry = ignitionAdvanceCyl1, "Ign: Timing Cyl 1", float, "%.3f" +entry = ignitionAdvanceCyl2, "Ign: Timing Cyl 2", float, "%.3f" +entry = ignitionAdvanceCyl3, "Ign: Timing Cyl 3", float, "%.3f" +entry = ignitionAdvanceCyl4, "Ign: Timing Cyl 4", float, "%.3f" +entry = ignitionAdvanceCyl5, "Ign: Timing Cyl 5", float, "%.3f" +entry = ignitionAdvanceCyl6, "Ign: Timing Cyl 6", float, "%.3f" +entry = ignitionAdvanceCyl7, "Ign: Timing Cyl 7", float, "%.3f" +entry = ignitionAdvanceCyl8, "Ign: Timing Cyl 8", float, "%.3f" +entry = ignitionAdvanceCyl9, "Ign: Timing Cyl 9", float, "%.3f" +entry = ignitionAdvanceCyl10, "Ign: Timing Cyl 10", float, "%.3f" +entry = ignitionAdvanceCyl11, "Ign: Timing Cyl 11", float, "%.3f" +entry = ignitionAdvanceCyl12, "Ign: Timing Cyl 12", float, "%.3f" +entry = tps1Split, "tps1Split", float, "%.3f" +entry = tps2Split, "tps2Split", float, "%.3f" +entry = tps12Split, "tps12Split", float, "%.3f" +entry = accPedalSplit, "accPedalSplit", float, "%.3f" +entry = sparkCutReason, "Ign: Cut Code", int, "%d" +entry = fuelCutReason, "Fuel: Cut Code", int, "%d" +entry = mafEstimate, "Air: Flow estimate", float, "%.3f" +entry = instantRpm, "instantRpm", int, "%d" +entry = rawMap, "rawMap", float, "%.3f" +entry = rawAfr, "rawAfr", float, "%.3f" +entry = calibrationValue2, "calibrationValue2", float, "%.3f" +entry = luaInvocationCounter, "Lua: Tick counter", int, "%d" +entry = luaLastCycleDuration, "Lua: Last tick duration", int, "%d" +entry = tcu_currentRange, "TCU: Current Range", int, "%d" +entry = tcRatio, "TCU: Torque Converter Ratio", float, "%.3f" +entry = lastShiftTime, "lastShiftTime", float, "%.3f" +entry = vssEdgeCounter, "vssEdgeCounter", int, "%d" +entry = issEdgeCounter, "issEdgeCounter", int, "%d" +entry = auxLinear1, "Aux linear #1", float, "%.3f" +entry = auxLinear2, "Aux linear #2", float, "%.3f" +entry = fallbackMap, "fallbackMap", float, "%.3f" +entry = instantMAPValue, "Instant MAP", float, "%.3f" +entry = maxLockedDuration, "maxLockedDuration", int, "%d" +entry = canWriteOk, "CAN: Tx OK", int, "%d" +entry = canWriteNotOk, "CAN: Tx err", int, "%d" +entry = triggerPrimaryFall, "triggerPrimaryFall", int, "%d" +entry = triggerPrimaryRise, "triggerPrimaryRise", int, "%d" +entry = triggerSecondaryFall, "triggerSecondaryFall", int, "%d" +entry = triggerSecondaryRise, "triggerSecondaryRise", int, "%d" +entry = triggerVvtFall, "triggerVvtFall", int, "%d" +entry = triggerVvtRise, "triggerVvtRise", int, "%d" +entry = starterState, "starterState", int, "%d" +entry = starterRelayDisable, "starterRelayDisable", int, "%d" +entry = multiSparkCounter, "Ign: Multispark count", int, "%d" +entry = extiOverflowCount, "extiOverflowCount", int, "%d" +entry = alternatorStatus_pTerm, "alternatorStatus_pTerm", float, "%.3f" +entry = alternatorStatus_iTerm, "alternatorStatus_iTerm", float, "%.3f" +entry = alternatorStatus_dTerm, "alternatorStatus_dTerm", float, "%.3f" +entry = alternatorStatus_output, "alternatorStatus_output", float, "%.3f" +entry = alternatorStatus_error, "alternatorStatus_error", float, "%.3f" +entry = alternatorStatus_resetCounter, "alternatorStatus_resetCounter", int, "%d" +entry = idleStatus_pTerm, "idleStatus_pTerm", float, "%.3f" +entry = idleStatus_iTerm, "idleStatus_iTerm", float, "%.3f" +entry = idleStatus_dTerm, "idleStatus_dTerm", float, "%.3f" +entry = idleStatus_output, "idleStatus_output", float, "%.3f" +entry = idleStatus_error, "idleStatus_error", float, "%.3f" +entry = idleStatus_resetCounter, "idleStatus_resetCounter", int, "%d" +entry = etbStatus_pTerm, "etbStatus_pTerm", float, "%.3f" +entry = etbStatus_iTerm, "etbStatus_iTerm", float, "%.3f" +entry = etbStatus_dTerm, "etbStatus_dTerm", float, "%.3f" +entry = etbStatus_output, "etbStatus_output", float, "%.3f" +entry = etbStatus_error, "etbStatus_error", float, "%.3f" +entry = etbStatus_resetCounter, "etbStatus_resetCounter", int, "%d" +entry = boostStatus_pTerm, "boostStatus_pTerm", float, "%.3f" +entry = boostStatus_iTerm, "boostStatus_iTerm", float, "%.3f" +entry = boostStatus_dTerm, "boostStatus_dTerm", float, "%.3f" +entry = boostStatus_output, "boostStatus_output", float, "%.3f" +entry = boostStatus_error, "boostStatus_error", float, "%.3f" +entry = boostStatus_resetCounter, "boostStatus_resetCounter", int, "%d" +entry = wastegateDcStatus_pTerm, "wastegateDcStatus_pTerm", float, "%.3f" +entry = wastegateDcStatus_iTerm, "wastegateDcStatus_iTerm", float, "%.3f" +entry = wastegateDcStatus_dTerm, "wastegateDcStatus_dTerm", float, "%.3f" +entry = wastegateDcStatus_output, "wastegateDcStatus_output", float, "%.3f" +entry = wastegateDcStatus_error, "wastegateDcStatus_error", float, "%.3f" +entry = wastegateDcStatus_resetCounter, "wastegateDcStatus_resetCounter", int, "%d" +entry = auxSpeed1, "Aux speed 1", int, "%d" +entry = auxSpeed2, "Aux speed 2", int, "%d" +entry = ISSValue, "TCU: Input Shaft Speed", int, "%d" +entry = rawAnalogInput1, "rawAnalogInput 1", float, "%.3f" +entry = rawAnalogInput2, "rawAnalogInput 2", float, "%.3f" +entry = rawAnalogInput3, "rawAnalogInput 3", float, "%.3f" +entry = rawAnalogInput4, "rawAnalogInput 4", float, "%.3f" +entry = rawAnalogInput5, "rawAnalogInput 5", float, "%.3f" +entry = rawAnalogInput6, "rawAnalogInput 6", float, "%.3f" +entry = rawAnalogInput7, "rawAnalogInput 7", float, "%.3f" +entry = rawAnalogInput8, "rawAnalogInput 8", float, "%.3f" +entry = gppwmOutput1, "GPPWM Output 1", float, "%.3f" +entry = gppwmOutput2, "GPPWM Output 2", float, "%.3f" +entry = gppwmOutput3, "GPPWM Output 3", float, "%.3f" +entry = gppwmOutput4, "GPPWM Output 4", float, "%.3f" +entry = gppwmXAxis1, "gppwmXAxis 1", int, "%d" +entry = gppwmXAxis2, "gppwmXAxis 2", int, "%d" +entry = gppwmXAxis3, "gppwmXAxis 3", int, "%d" +entry = gppwmXAxis4, "gppwmXAxis 4", int, "%d" +entry = gppwmYAxis1, "gppwmYAxis 1", float, "%.3f" +entry = gppwmYAxis2, "gppwmYAxis 2", float, "%.3f" +entry = gppwmYAxis3, "gppwmYAxis 3", float, "%.3f" +entry = gppwmYAxis4, "gppwmYAxis 4", float, "%.3f" +entry = rawBattery, "rawBattery", float, "%.3f" +entry = ignBlendParameter1, "ignBlendParameter 1", float, "%.3f" +entry = ignBlendParameter2, "ignBlendParameter 2", float, "%.3f" +entry = ignBlendParameter3, "ignBlendParameter 3", float, "%.3f" +entry = ignBlendParameter4, "ignBlendParameter 4", float, "%.3f" +entry = ignBlendBias1, "ignBlendBias 1", float, "%.3f" +entry = ignBlendBias2, "ignBlendBias 2", float, "%.3f" +entry = ignBlendBias3, "ignBlendBias 3", float, "%.3f" +entry = ignBlendBias4, "ignBlendBias 4", float, "%.3f" +entry = ignBlendOutput1, "ignBlendOutput 1", float, "%.3f" +entry = ignBlendOutput2, "ignBlendOutput 2", float, "%.3f" +entry = ignBlendOutput3, "ignBlendOutput 3", float, "%.3f" +entry = ignBlendOutput4, "ignBlendOutput 4", float, "%.3f" +entry = veBlendParameter1, "veBlendParameter 1", float, "%.3f" +entry = veBlendParameter2, "veBlendParameter 2", float, "%.3f" +entry = veBlendParameter3, "veBlendParameter 3", float, "%.3f" +entry = veBlendParameter4, "veBlendParameter 4", float, "%.3f" +entry = veBlendBias1, "veBlendBias 1", float, "%.3f" +entry = veBlendBias2, "veBlendBias 2", float, "%.3f" +entry = veBlendBias3, "veBlendBias 3", float, "%.3f" +entry = veBlendBias4, "veBlendBias 4", float, "%.3f" +entry = veBlendOutput1, "veBlendOutput 1", float, "%.3f" +entry = veBlendOutput2, "veBlendOutput 2", float, "%.3f" +entry = veBlendOutput3, "veBlendOutput 3", float, "%.3f" +entry = veBlendOutput4, "veBlendOutput 4", float, "%.3f" +entry = boostOpenLoopBlendParameter1, "boostOpenLoopBlendParameter 1", float, "%.3f" +entry = boostOpenLoopBlendParameter2, "boostOpenLoopBlendParameter 2", float, "%.3f" +entry = boostOpenLoopBlendBias1, "boostOpenLoopBlendBias 1", float, "%.3f" +entry = boostOpenLoopBlendBias2, "boostOpenLoopBlendBias 2", float, "%.3f" +entry = boostOpenLoopBlendOutput1, "boostOpenLoopBlendOutput 1", int, "%d" +entry = boostOpenLoopBlendOutput2, "boostOpenLoopBlendOutput 2", int, "%d" +entry = boostClosedLoopBlendParameter1, "boostClosedLoopBlendParameter 1", float, "%.3f" +entry = boostClosedLoopBlendParameter2, "boostClosedLoopBlendParameter 2", float, "%.3f" +entry = boostClosedLoopBlendBias1, "boostClosedLoopBlendBias 1", float, "%.3f" +entry = boostClosedLoopBlendBias2, "boostClosedLoopBlendBias 2", float, "%.3f" +entry = boostClosedLoopBlendOutput1, "boostClosedLoopBlendOutput 1", float, "%.3f" +entry = boostClosedLoopBlendOutput2, "boostClosedLoopBlendOutput 2", float, "%.3f" +entry = coilState1, "coilState1", int, "%d" +entry = coilState2, "coilState2", int, "%d" +entry = coilState3, "coilState3", int, "%d" +entry = coilState4, "coilState4", int, "%d" +entry = coilState5, "coilState5", int, "%d" +entry = coilState6, "coilState6", int, "%d" +entry = coilState7, "coilState7", int, "%d" +entry = coilState8, "coilState8", int, "%d" +entry = coilState9, "coilState9", int, "%d" +entry = coilState10, "coilState10", int, "%d" +entry = coilState11, "coilState11", int, "%d" +entry = coilState12, "coilState12", int, "%d" +entry = injectorState1, "injectorState1", int, "%d" +entry = injectorState2, "injectorState2", int, "%d" +entry = injectorState3, "injectorState3", int, "%d" +entry = injectorState4, "injectorState4", int, "%d" +entry = injectorState5, "injectorState5", int, "%d" +entry = injectorState6, "injectorState6", int, "%d" +entry = injectorState7, "injectorState7", int, "%d" +entry = injectorState8, "injectorState8", int, "%d" +entry = injectorState9, "injectorState9", int, "%d" +entry = injectorState10, "injectorState10", int, "%d" +entry = injectorState11, "injectorState11", int, "%d" +entry = injectorState12, "injectorState12", int, "%d" +entry = outputRequestPeriod, "outputRequestPeriod", int, "%d" +entry = mapFast, "mapFast", float, "%.3f" +entry = luaGauges1, "Lua: Gauge 1", float, "%.3f" +entry = luaGauges2, "Lua: Gauge 2", float, "%.3f" +entry = rawMaf2, "rawMaf2", float, "%.3f" +entry = mafMeasured2, "MAF #2", float, "%.3f" +entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" +entry = Gego, "Gego", float, "%.3f" +entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" +entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" +entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" +entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" +entry = running_coolantTemperatureCoefficient, "Fuel: CLT correction", float, "%.3f" +entry = running_timeSinceCrankingInSecs, "running_timeSinceCrankingInSecs", float, "%.3f" +entry = running_baseFuel, "Fuel: base cycle mass", float, "%.3f" +entry = running_fuel, "Fuel: running", float, "%.3f" +entry = afrTableYAxis, "afrTableYAxis", float, "%.3f" +entry = targetLambda, "Fuel: target lambda", float, "%.3f" +entry = targetAFR, "Fuel: target AFR", float, "%.3f" +entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" +entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" +entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" +entry = baseDwell, "baseDwell", float, "%.3f" +entry = sparkDwell, "Ign: Dwell", float, "%.3f" +entry = dwellAngle, "ignition dwell duration", float, "%.3f" +entry = cltTimingCorrection, "Ign: CLT correction", float, "%.3f" +entry = timingIatCorrection, "Ign: IAT correction", float, "%.3f" +entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" +entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" +entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" +entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" +entry = m_requested_pump, "HPFP duration", float, "%.3f" +entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" +entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" +entry = noValve, "noValve", int, "%d" +entry = angleAboveMin, "angleAboveMin", int, "%d" +entry = isHpfpInactive, "isHpfpInactive", int, "%d" +entry = nextLobe, "nextLobe", float, "%.3f" +entry = di_nextStart, "DI: next start", float, "%.3f" +entry = m_deadtime, "Fuel: injector lag", float, "%.3f" +entry = pressureDelta, "fuel: Injector pressure delta", float, "%.3f" +entry = pressureRatio, "fuel: Injector pressure ratio", float, "%.3f" +entry = retardThresholdRpm, "retardThresholdRpm", int, "%d" +entry = combinedConditions, "combinedConditions", int, "%d" +entry = launchActivatePinState, "launchActivatePinState", int, "%d" +entry = isLaunchCondition, "isLaunchCondition", int, "%d" +entry = isSwitchActivated, "isSwitchActivated", int, "%d" +entry = isClutchActivated, "isClutchActivated", int, "%d" +entry = isValidInputPin, "isValidInputPin", int, "%d" +entry = activateSwitchCondition, "activateSwitchCondition", int, "%d" +entry = rpmCondition, "rpmCondition", int, "%d" +entry = speedCondition, "speedCondition", int, "%d" +entry = tpsCondition, "tpsCondition", int, "%d" +entry = isAntilagCondition, "isAntilagCondition", int, "%d" +entry = ALSMinRPMCondition, "ALSMinRPMCondition", int, "%d" +entry = ALSMaxRPMCondition, "ALSMaxRPMCondition", int, "%d" +entry = ALSMinCLTCondition, "ALSMinCLTCondition", int, "%d" +entry = ALSMaxCLTCondition, "ALSMaxCLTCondition", int, "%d" +entry = ALSMaxThrottleIntentCondition, "ALSMaxThrottleIntentCondition", int, "%d" +entry = isALSSwitchActivated, "isALSSwitchActivated", int, "%d" +entry = ALSActivatePinState, "ALSActivatePinState", int, "%d" +entry = ALSSwitchCondition, "ALSSwitchCondition", int, "%d" +entry = ALSTimerCondition, "ALSTimerCondition", int, "%d" +entry = fuelALSCorrection, "fuelALSCorrection", float, "%.3f" +entry = timingALSCorrection, "timingALSCorrection", float, "%.3f" +entry = isTpsInvalid, "isTpsInvalid", int, "%d" +entry = m_shouldResetPid, "m_shouldResetPid", int, "%d" +entry = isBelowClosedLoopThreshold, "isBelowClosedLoopThreshold", int, "%d" +entry = isNotClosedLoop, "isNotClosedLoop", int, "%d" +entry = isZeroRpm, "isZeroRpm", int, "%d" +entry = hasInitBoost, "hasInitBoost", int, "%d" +entry = rpmTooLow, "rpmTooLow", int, "%d" +entry = tpsTooLow, "tpsTooLow", int, "%d" +entry = mapTooLow, "mapTooLow", int, "%d" +entry = luaTargetAdd, "Boost: Lua target add", float, "%.3f" +entry = boostOutput, "Boost: Output", float, "%.3f" +entry = luaTargetMult, "Boost: Lua target mult", float, "%.3f" +entry = openLoopPart, "Boost: Open loop", float, "%.3f" +entry = luaOpenLoopAdd, "Boost: Lua open loop add", float, "%.3f" +entry = boostControllerClosedLoopPart, "Boost: Closed loop", float, "%.3f" +entry = boostControlTarget, "Boost: Target", float, "%.3f" +entry = acButtonState, "AC switch", int, "%d" +entry = m_acEnabled, "AC enabled", int, "%d" +entry = engineTooSlow, "AC engine too slow", int, "%d" +entry = engineTooFast, "AC engine too fast", int, "%d" +entry = noClt, "AC no CLT", int, "%d" +entry = engineTooHot, "AC engine too hot", int, "%d" +entry = tpsTooHigh, "AC tps too high", int, "%d" +entry = isDisabledByLua, "AC disabled by Lua", int, "%d" +entry = acCompressorState, "AC compressor on", int, "%d" +entry = latest_usage_ac_control, "AC latest activity", int, "%d" +entry = acSwitchLastChangeTimeMs, "acSwitchLastChangeTimeMs", int, "%d" +entry = cranking, "cranking", int, "%d" +entry = notRunning, "notRunning", int, "%d" +entry = disabledWhileEngineStopped, "disabledWhileEngineStopped", int, "%d" +entry = brokenClt, "brokenClt", int, "%d" +entry = enabledForAc, "enabledForAc", int, "%d" +entry = hot, "hot", int, "%d" +entry = cold, "cold", int, "%d" +entry = isPrime, "isPrime", int, "%d" +entry = engineTurnedRecently, "engineTurnedRecently", int, "%d" +entry = isFuelPumpOn, "isFuelPumpOn", int, "%d" +entry = ignitionOn, "ignitionOn", int, "%d" +entry = isBenchTest, "isBenchTest", int, "%d" +entry = hasIgnitionVoltage, "hasIgnitionVoltage", int, "%d" +entry = mainRelayState, "mainRelayState", int, "%d" +entry = delayedShutoffRequested, "delayedShutoffRequested", int, "%d" +entry = lua_fuelAdd, "Lua: Fuel add", float, "%.3f" +entry = lua_fuelMult, "Lua: Fuel mult", float, "%.3f" +entry = lua_clutchUpState, "lua_clutchUpState", int, "%d" +entry = lua_brakePedalState, "lua_brakePedalState", int, "%d" +entry = lua_acRequestState, "lua_acRequestState", int, "%d" +entry = lua_luaDisableEtb, "lua_luaDisableEtb", int, "%d" +entry = lua_luaIgnCut, "lua_luaIgnCut", int, "%d" +entry = sd_tCharge, "Air: Charge temperature estimate", float, "%.3f" +entry = sd_tChargeK, "Air: Charge temperature estimate K", float, "%.3f" +entry = crankingFuel_coolantTemperatureCoefficient, "Fuel: cranking CLT mult", float, "%.3f" +entry = crankingFuel_tpsCoefficient, "Fuel: cranking TPS mult", float, "%.3f" +entry = crankingFuel_durationCoefficient, "Fuel: cranking duration mult", float, "%.3f" +entry = crankingFuel_fuel, "Fuel: Cranking cycle mass", float, "%.3f" +entry = baroCorrection, "Fuel: Barometric pressure mult", float, "%.3f" +entry = hellenBoardId, "Detected Board ID", int, "%d" +entry = clutchUpState, "Clutch: up", int, "%d" +entry = clutchDownState, "Clutch: down", int, "%d" +entry = brakePedalState, "Brake switch", int, "%d" +entry = startStopState, "startStopState", int, "%d" +entry = startStopStateToggleCounter, "startStopStateToggleCounter", int, "%d" +entry = egtValue1, "egtValue1", float, "%.3f" +entry = egtValue2, "egtValue2", float, "%.3f" +entry = desiredRpmLimit, "User-defined RPM hard limit", int, "%d" +entry = fuelInjectionCounter, "Fuel: Injection counter", int, "%d" +entry = sparkCounter, "Ign: Spark counter", int, "%d" +entry = fuelingLoad, "Fuel: Load", float, "%.3f" +entry = ignitionLoad, "Ign: Load", float, "%.3f" +entry = veTableYAxis, "veTableYAxis", float, "%.3f" +entry = tpsFrom, "Fuel: TPS AE from", float, "%.3f" +entry = tpsTo, "Fuel: TPS AE to", float, "%.3f" +entry = deltaTps, "Fuel: TPS AE change", float, "%.3f" +entry = extraFuel, "extraFuel", float, "%.3f" +entry = valueFromTable, "valueFromTable", float, "%.3f" +entry = isAboveAccelThreshold, "Fuel: TPS AE Active", int, "%d" +entry = isBelowDecelThreshold, "isBelowDecelThreshold", int, "%d" +entry = isTimeToResetAccumulator, "Accel: reset time", int, "%d" +entry = isFractionalEnrichment, "isFractionalEnrichment", int, "%d" +entry = belowEpsilon, "Accel: below threshold", int, "%d" +entry = tooShort, "Accel: too short", int, "%d" +entry = fractionalInjFuel, "fractionalInjFuel", float, "%.3f" +entry = accumulatedValue, "accumulatedValue", float, "%.3f" +entry = maxExtraPerCycle, "maxExtraPerCycle", float, "%.3f" +entry = maxExtraPerPeriod, "maxExtraPerPeriod", float, "%.3f" +entry = maxInjectedPerPeriod, "maxInjectedPerPeriod", float, "%.3f" +entry = cycleCnt, "cycleCnt", int, "%d" +entry = hwEventCounters1, "Hardware events since boot 1", int, "%d" +entry = hwEventCounters2, "Hardware events since boot 2", int, "%d" +entry = hwEventCounters3, "Hardware events since boot 3", int, "%d" +entry = hwEventCounters4, "Hardware events since boot 4", int, "%d" +entry = hwEventCounters5, "Hardware events since boot 5", int, "%d" +entry = hwEventCounters6, "Hardware events since boot 6", int, "%d" +entry = vvtCamCounter, "vvtCamCounter", int, "%d" +entry = mapVvt_MAP_AT_SPECIAL_POINT, "mapVvt_MAP_AT_SPECIAL_POINT", float, "%.3f" +entry = mapVvt_MAP_AT_DIFF, "mapVvt_MAP_AT_DIFF", float, "%.3f" +entry = mapVvt_MAP_AT_CYCLE_COUNT, "mapVvt_MAP_AT_CYCLE_COUNT", int, "%d" +entry = mapVvt_map_peak, "mapVvt_map_peak", int, "%d" +entry = currentEngineDecodedPhase, "Engine Phase", float, "%.3f" +entry = triggerToothAngleError, "triggerToothAngleError", float, "%.3f" +entry = triggerIgnoredToothCount, "triggerIgnoredToothCount", int, "%d" +entry = crankSynchronizationCounter, "Crank sync counter", int, "%d" +entry = vvtSyncGapRatio, "vvtSyncGapRatio", float, "%.3f" +entry = triggerSyncGapRatio, "Trigger Sync Latest Ratio", float, "%.3f" +entry = triggerStateIndex, "triggerStateIndex", int, "%d" +entry = vvtCounter, "vvtCounter", int, "%d" +entry = camResyncCounter, "camResyncCounter", int, "%d" +entry = vvtStateIndex, "vvtStateIndex", int, "%d" +entry = m_hasSynchronizedPhase, "m_hasSynchronizedPhase", int, "%d" +entry = wallFuelCorrection, "fuel wallwetting injection time", float, "%.3f" +entry = wallFuel, "Fuel on the wall", float, "%.3f" +entry = idleState, "idleState", int, "%d" +entry = currentIdlePosition, "Idle: Position", float, "%.3f" +entry = baseIdlePosition, "Idle: Open loop", float, "%.3f" +entry = idleClosedLoop, "Idle: Closed loop", float, "%.3f" +entry = iacByTpsTaper, "Idle: iacByTpsTaper portion", float, "%.3f" +entry = throttlePedalUpState, "Idle: throttlePedalUpState", int, "%d" +entry = mightResetPid, "Idle: mightResetPid", int, "%d" +entry = shouldResetPid, "Idle: shouldResetPid", int, "%d" +entry = wasResetPid, "Idle: wasResetPid", int, "%d" +entry = mustResetPid, "Idle: mustResetPid", int, "%d" +entry = isCranking, "Idle: cranking", int, "%d" +entry = isIacTableForCoasting, "isIacTableForCoasting", int, "%d" +entry = notIdling, "notIdling", int, "%d" +entry = needReset, "Idle: reset", int, "%d" +entry = isInDeadZone, "Idle: dead zone", int, "%d" +entry = isBlipping, "isBlipping", int, "%d" +entry = looksLikeRunning, "looksLikeRunning", int, "%d" +entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" +entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" +entry = isIdleCoasting, "Idle: coasting", int, "%d" +entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" +entry = idleTarget, "Idle: Target RPM", int, "%d" +entry = targetRpmByClt, "Idle: Target RPM base", int, "%d" +entry = targetRpmAcBump, "Idle: Target A/C bump", int, "%d" +entry = iacByRpmTaper, "Idle: iacByRpmTaper portion", float, "%.3f" +entry = luaAdd, "Idle: Lua Adder", float, "%.3f" +entry = idlePosition, "ETB: idlePosition", float, "%.3f" +entry = trim, "ETB: trim", float, "%.3f" +entry = luaAdjustment, "ETB: luaAdjustment", float, "%.3f" +entry = m_wastegatePosition, "DC: wastegatePosition", float, "%.3f" +entry = etbFeedForward, "etbFeedForward", float, "%.3f" +entry = etbIntegralError, "etbIntegralError", float, "%.3f" +entry = etbCurrentTarget, "etbCurrentTarget", float, "%.3f" +entry = etbCurrentAdjustedTarget, "etbCurrentAdjustedTarget", float, "%.3f" +entry = etbRevLimitActive, "etbRevLimitActive", int, "%d" +entry = jamDetected, "jamDetected", int, "%d" +entry = etbDutyRateOfChange, "ETB duty rate of change", float, "%.3f" +entry = etbDutyAverage, "ETB average duty", float, "%.3f" +entry = etbTpsErrorCounter, "ETB TPS error counter", int, "%d" +entry = etbPpsErrorCounter, "ETB pedal error counter", int, "%d" +entry = etbErrorCode, "etbErrorCode", int, "%d" +entry = jamTimer, "ETB jam timer", float, "%.3f" +entry = faultCode, "WBO: Fault code", int, "%d" +entry = heaterDuty, "WBO: Heater duty", int, "%d" +entry = pumpDuty, "WBO: Pump duty", int, "%d" +entry = tempC, "WBO: Temperature", int, "%d" +entry = nernstVoltage, "WBO: Nernst Voltage", float, "%.3f" +entry = esr, "WBO: ESR", int, "%d" +entry = dcOutput0, "DC: output0", float, "%.3f" +entry = isEnabled0_int, "DC: en0", int, "%d" +entry = isEnabled0, "isEnabled0", int, "%d" +entry = value0, "ETB: SENT value0", int, "%d" +entry = value1, "ETB: SENT value1", int, "%d" +entry = errorRate, "ETB: SENT error rate", float, "%.3f" +entry = throttleUseWotModel, "Air: Throttle model WOT", int, "%d" +entry = throttleModelCrossoverAngle, "Air: Throttle crossover pos", float, "%.3f" +entry = throttleEstimatedFlow, "Air: Throttle flow estimate", float, "%.3f" +entry = vvtTarget, "vvtTarget", float, "%.3f" +entry = vvtOutput, "vvtOutput", float, "%.3f" +entry = lambdaCurrentlyGood, "lambdaCurrentlyGood", int, "%d" +entry = lambdaMonitorCut, "lambdaMonitorCut", int, "%d" +entry = lambdaTimeSinceGood, "lambdaTimeSinceGood", float, "%.3f" + + +[Menu] + +menuDialog = main +; see #1653 +; menu = "Data Logging" +; subMenu = std_ms3SdConsole, "Browse / Import SD Card" + + menu = "&Base &Engine" + subMenu = engineChars, "Base engine" + subMenu = limitsAndFallback, "Limits and fallbacks" + subMenu = triggerConfiguration, "Trigger" + subMenu = trigger_advanced, "Advanced Trigger" + subMenu = std_separator + subMenu = energySystems, "Battery and alternator" + subMenu = std_separator + + # Digital outputs + subMenu = outputsDialog, "Outputs" + subMenu = acSettings, "Air Conditioning" + + menu = "Fuel" + # basic + subMenu = injectorConfig, "Injection configuration" + subMenu = injectorPins, "Injection hardware", 0, {isInjectionEnabled == 1} + subMenu = injTest, "Injector test", 0, {isInjectionEnabled} + subMenu = cylinderBankSelect, "Cylinder bank selection", 0, {isInjectionEnabled == 1} + subMenu = injectorNonlinear, "Injector small-pulse correction", 0, {isInjectionEnabled == 1} + + groupMenu = "Cylinder fuel trims" + groupChildMenu = fuelTrimTbl1, "Fuel trim cyl 1" + groupChildMenu = fuelTrimTbl2, "Fuel trim cyl 2" + groupChildMenu = fuelTrimTbl3, "Fuel trim cyl 3" + groupChildMenu = fuelTrimTbl4, "Fuel trim cyl 4" + groupChildMenu = fuelTrimTbl5, "Fuel trim cyl 5" + groupChildMenu = fuelTrimTbl6, "Fuel trim cyl 6" + groupChildMenu = fuelTrimTbl7, "Fuel trim cyl 7" + groupChildMenu = fuelTrimTbl8, "Fuel trim cyl 8" + groupChildMenu = fuelTrimTbl9, "Fuel trim cyl 9" + groupChildMenu = fuelTrimTbl10, "Fuel trim cyl 10" + groupChildMenu = fuelTrimTbl11, "Fuel trim cyl 11" + groupChildMenu = fuelTrimTbl12, "Fuel trim cyl 12" + + subMenu = std_separator + + # Air mass model + subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} + + groupMenu = "VE blend tables" + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + + subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} + subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} + subMenu = mapEstimateTableTbl, "MAP estimate table" + subMenu = std_separator + + # Fuel model +#if LAMBDA + subMenu = lambdaTableTbl, "Target lambda", 0, {isInjectionEnabled == 1} +#else + subMenu = afrTableTbl, "Target AFR", 0, {isInjectionEnabled == 1} +#endif + subMenu = cltFuelCorrCurve, "CLT multiplier", 0, {isInjectionEnabled == 1} + subMenu = iatFuelCorrCurve, "IAT multiplier", 0, {isInjectionEnabled == 1} + subMenu = fuelClosedLoopDialog, "Closed loop fuel correction", 0, {isInjectionEnabled == 1} + subMenu = coastingFuelCutControl, "Deceleration fuel cutoff (DFCO)", 0, {isInjectionEnabled == 1} + subMenu = std_separator + + # Injector model + subMenu = injPhaseTableTbl, "Injection phase", 0, {isInjectionEnabled == 1} + subMenu = std_separator + + # Accel enrichment + subMenu = AccelEnrich, "Acceleration enrichment", 0, {isInjectionEnabled == 1} + subMenu = tpsTpsAccelTbl, "TPS/TPS acceleration extra fuel", 0, {isInjectionEnabled == 1} + subMenu = tpsTspRpmCorrection, "TPS/TPS AE RPM correction", 0, {isInjectionEnabled == 1} + + groupMenu = "Wall wetting AE" + groupChildMenu = wwTauCurves, "Evap time", 0, { complexWallModel != 0 } + groupChildMenu = wwBetaCurves, "Impact fraction", 0, { complexWallModel != 0 } + + menu = "Ignition" + subMenu = ignitionSettings, "Ignition settings" + subMenu = ignTest, "Ignition coil test", 0, {isIgnitionEnabled} + subMenu = std_separator + + subMenu = ignitionTableTbl, "Ignition advance", 0, {isIgnitionEnabled} + subMenu = cltTimingCorrCurve, "Ign CLT correction", 0, {isIgnitionEnabled == 1} + subMenu = ignitionIatCorrTableTbl, "Ign IAT correction", 0, {isIgnitionEnabled == 1} + subMenu = std_separator + + subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} + groupMenu = "Ignition blend tables" + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupMenu = "Cylinder ign trims" + groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" + groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" + groupChildMenu = ignTrimTbl3, "Ignition trim cyl 3" + groupChildMenu = ignTrimTbl4, "Ignition trim cyl 4" + groupChildMenu = ignTrimTbl5, "Ignition trim cyl 5" + groupChildMenu = ignTrimTbl6, "Ignition trim cyl 6" + groupChildMenu = ignTrimTbl7, "Ignition trim cyl 7" + groupChildMenu = ignTrimTbl8, "Ignition trim cyl 8" + groupChildMenu = ignTrimTbl9, "Ignition trim cyl 9" + groupChildMenu = ignTrimTbl10, "Ignition trim cyl 10" + groupChildMenu = ignTrimTbl11, "Ignition trim cyl 11" + groupChildMenu = ignTrimTbl12, "Ignition trim cyl 12" + subMenu = std_separator + + subMenu = multisparkSettings, "Multispark", 0, {isIgnitionEnabled == 1} + + menu = "&Cranking" + subMenu = crankingDialog, "Cranking settings" + subMenu = postCrankingEnrichment, "After-start enrichment" + subMenu = primingFuelPulsePanel, "Priming pulse" + subMenu = std_separator + + subMenu = crankingCltCurve, "Fuel CLT multiplier" + subMenu = crankingCltCurveE100, "Fuel CLT multiplier (Flex Fuel E85)", 0, { flexSensorPin != 0 && flexCranking } + subMenu = crankingDurationCurve, "Fuel duration multiplier" + subMenu = crankingTpsCurve, "Fuel TPS multiplier" + subMenu = std_separator + + subMenu = crankingAdvanceCurve, "Cranking ignition advance", 0, {useSeparateAdvanceForCranking == 1} + subMenu = std_separator + + subMenu = cltCrankingCurve, "Cranking IAC CLT multiplier", 0, {overrideCrankingIacSetting == 1} + + menu = "&Idle" + subMenu = idleSettings, "Idle settings" + subMenu = idlehw, "Idle hardware" + subMenu = std_separator + subMenu = cltIdleRPMCurve, "Target RPM" + subMenu = cltIdleCurve, "CLT multiplier" + subMenu = std_separator + subMenu = idleTimingPidCorrDialog, "Closed-loop idle timing" + subMenu = iacPidMultTbl, "IAC PID multiplier", 0, {idleMode == 0 && useIacPidMultTable == 1} + subMenu = iacCoastingCurve, "Coasting IAC position", 0, {useIacTableForCoasting == 1} + subMenu = std_separator + subMenu = idleVeTableTbl, "Idle VE", 0, {useSeparateVeForIdle == 1} + subMenu = idleAdvanceCurve, "Ignition advance", 0, {useSeparateAdvanceForIdle == 1} + + menu = "&Advanced" + subMenu = smLaunchControl, "Launch Control" + subMenu = ignitionCylExtra, "Cylinder offsets", 0 + + subMenu = std_separator + subMenu = boostDialog, "Boost control" + subMenu = boostOpenLoopDialog, "Boost control open loop", { isBoostControlEnabled } + subMenu = boostPidDialog, "Boost control PID", { isBoostControlEnabled && boostType == 1 } + subMenu = boostTargetDialog, "Boost control target", { isBoostControlEnabled && boostType == 1 } + + groupMenu = "Boost blend tables" + groupChildMenu = boostOpenBlend1Cfg, "Open loop 1 bias", { isBoostControlEnabled } + groupChildMenu = boostOpenBlend1Table, "Open loop 1 adder", { isBoostControlEnabled && boostOpenLoopBlends1_blendParameter != 0 } + groupChildMenu = boostOpenBlend2Cfg, "Open loop 2 bias", { isBoostControlEnabled } + groupChildMenu = boostOpenBlend2Table, "Open loop 2 adder", { isBoostControlEnabled && boostOpenLoopBlends2_blendParameter != 0 } + groupChildMenu = boostClosedBlend1Cfg, "Closed loop 1 bias", { isBoostControlEnabled && boostType == 1 } + groupChildMenu = boostClosedBlend2Table, "Closed loop 1 adder", { isBoostControlEnabled && boostType == 1 && boostClosedLoopBlends1_blendParameter != 0 } + groupChildMenu = boostClosedBlend2Cfg, "Closed loop 2 bias", { isBoostControlEnabled && boostType == 1 } + groupChildMenu = boostClosedBlend2Table, "Closed loop 2 adder", { isBoostControlEnabled && boostType == 1 && boostClosedLoopBlends2_blendParameter != 0 } + + subMenu = boostEtbPid, "ETB-style Wastegate Actuator", { etbFunctions1 == 3 || etbFunctions2 == 3 } + + subMenu = std_separator + subMenu = gppwm1, "General Purpose PWM 1" + subMenu = gppwm2, "General Purpose PWM 2" + subMenu = gppwm3, "General Purpose PWM 3" + subMenu = gppwm4, "General Purpose PWM 4" + + subMenu = std_separator + subMenu = etbDialog, "Electronic throttle body" + subMenu = etbTpsBiasCurve, "ETB bias curve (feed forward)" + subMenu = pedalToTpsTbl, "ETB pedal target" + subMenu = throttle2TrimTbl, "ETB #2 Trim", { tps2_1AdcChannel != 0 } + + subMenu = std_separator + subMenu = vvtPidDialog, "VVT outputs and PID", { vvtMode1 != 0 } + subMenu = vvtTable1Tbl, "VVT intake target", { vvtMode1 != 0 } + subMenu = vvtTable2Tbl, "VVT exhaust target", { vvtMode2 != 0 } + + subMenu = std_separator + subMenu = auxInputsDialog, "Lua Analog Inputs" + subMenu = luaDigitalInputsDialog, "Lua Digital Inputs" + subMenu = luaOutputs, "Lua Script PWM Outputs" + + groupMenu = "Lua Calibrations" + groupChildMenu = scriptSetting, "Lua Script Settings" + + groupChildMenu = scriptTable1TblSettings, "Script Table #1" + groupChildMenu = scriptTable2TblSettings, "Script Table #2" + groupChildMenu = scriptTable3TblSettings, "Script Table #3" + groupChildMenu = scriptTable4TblSettings, "Script Table #4" + + groupChildMenu = scriptCurve1Settings, "Script Curve #1" + groupChildMenu = scriptCurve2Settings, "Script Curve #2" + groupChildMenu = scriptCurve3Settings, "Script Curve #3" + groupChildMenu = scriptCurve4Settings, "Script Curve #4" + groupChildMenu = scriptCurve5Settings, "Script Curve #5" + groupChildMenu = scriptCurve6Settings, "Script Curve #6" + +# users are confused by TCU dialogs. open question how to repackage as pre-alpha +# subMenu = std_separator +# subMenu = tcuControls, "Transmission Settings" +# subMenu = gearControls, "Gear Selection Settings" +# subMenu = inputSpeedSensor, "Input Speed Sensor" +# subMenu = tcuSolenoidTableTbl, "Shift Solenoids" +# subMenu = tccCurves, "TCC Lock/Unlock Speed" +# subMenu = pcPerGearDialog, "Line Pressure Per Gear" +# subMenu = pcPerShiftDialog, "Line Pressure Per Shift" +# subMenu = 32Dialog, "3-2 Shift Solenoid Percent by Speed" + + menu = "&Sensors" + # Thermistors + subMenu = cltSensor, "CLT sensor" + subMenu = iatSensor, "IAT sensor" + subMenu = auxTempSensor1Sensor, "AuxTemp1 sensor" + subMenu = auxTempSensor2Sensor, "AuxTemp2 sensor" + subMenu = std_separator + + # TPS/pedal + subMenu = tpsSensor, "TPS" + subMenu = pedalSensor, "Accelerator pedal" + subMenu = std_separator + + # MAP/Baro + subMenu = mapSettings, "MAP sensor" + subMenu = mapCurves, "MAP sampling" + subMenu = baroSettings, "Baro sensor" + subMenu = std_separator + + # MAF + subMenu = mafSettings, "MAF sensor" + subMenu = mafDecodingCurve, "MAF transfer function", 0, {mafAdcChannel != 0 } + subMenu = std_separator + + # O2 sensor(s) + subMenu = egoSettings, "EGO sensor" + subMenu = widebandConfig, "rusEFI Wideband Controller", 0, { canReadEnabled && canWriteEnabled } + subMenu = std_separator + + # Misc sensors + subMenu = vrThreshold, "VR Sensor Threshold" + subMenu = speedSensor, "Vehicle speed sensor" + subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" + subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" + subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" + subMenu = wastegateIdlePos, "Wastegate and idle position sensors" + subMenu = std_separator + + subMenu = auxLinearSensors, "Aux Sensors" + subMenu = otherSensorInputs, "Misc sensors" + + menu = "&Controller" + subMenu = ecuStimulator, "ECU stimulator" + subMenu = ioTest, "Bench test" + subMenu = injTest, "Injector test", 0, {isInjectionEnabled} + subMenu = ignTest, "Ignition coil test", 0, {isIgnitionEnabled} + subMenu = engineTypeDialog, "Popular vehicles" + subMenu = std_separator + + subMenu = spiFunction, "SPI" + subMenu = monitoringSettings, "FOME console" + subMenu = std_separator + + subMenu = canBusMain, "CAN Bus Communication" + subMenu = sdCard, "SD Card Logger" + subMenu = connection, "Connection" + subMenu = tle8888, "TLE8888" + + subMenu = allPins1, "Full pinout 1/3" + subMenu = allPins2, "Full pinout 2/3" + subMenu = allPins3_1_and_2 "Full pinout 3/3" + subMenu = std_separator + + + # EXPERIMENTAL FEATURES + subMenu = mc33Dialog, "PT2001 control" + subMenu = hpfpCamDialog, "HPFP Cam Configuration" + subMenu = hpfpPumpDialog, "HPFP Pump Configuration", {hpfpCamLobes != 0} + subMenu = hpfpTargetTable, "HPFP Target Pressure", {hpfpCamLobes != 0} + subMenu = hpfpCompensationTable, "HPFP Pump Compensation", {hpfpCamLobes != 0} + subMenu = std_separator + subMenu = fancyHardwareDialog, "Fancy Hardware" + subMenu = std_separator + + + ; TODO: move lambdaProtection to the fuel menu once ready + ; https://github.com/FOME-Tech/fome-fw/issues/75 + subMenu = lambdaProtection, "Lambda Protection", 0, { isInjectionEnabled } + + subMenu = std_separator + + subMenu = std_separator + + subMenu = std_separator + subMenu = parkingLot, "Experimental/Broken" + subMenu = antiLagDialog, "Anti-Lag ALS" + subMenu = rotaryDialog, "Rotary" + subMenu = throttleEffectiveArea, "Throttle effective area" + + menu = "Help" + subMenu = helpGeneral, "FOME Info" + + menu = "&View" + subMenu = fuel_computerDialog, "fuel_computer" + subMenu = ignition_stateDialog, "ignition_state" + subMenu = knock_controllerDialog, "knock_controller" + subMenu = high_pressure_fuel_pumpDialog, "high_pressure_fuel_pump" + subMenu = injector_modelDialog, "injector_model" + subMenu = launch_control_stateDialog, "launch_control_state" + subMenu = antilag_system_stateDialog, "antilag_system_state" + subMenu = boost_controlDialog, "boost_control" + subMenu = ac_controlDialog, "ac_control" + subMenu = fan_controlDialog, "fan_control" + subMenu = fuel_pump_controlDialog, "fuel_pump_control" + subMenu = main_relayDialog, "main_relay" + subMenu = engine_stateDialog, "engine_state" + subMenu = tps_accel_stateDialog, "tps_accel_state" + subMenu = trigger_centralDialog, "trigger_central" + subMenu = trigger_stateDialog, "trigger_state" + subMenu = trigger_state_primaryDialog, "trigger_state_primary" + subMenu = wall_fuel_stateDialog, "wall_fuel_state" + subMenu = idle_stateDialog, "idle_state" + subMenu = electronic_throttleDialog, "electronic_throttle" + subMenu = wideband_stateDialog, "wideband_state" + subMenu = dc_motorsDialog, "dc_motors" + subMenu = sent_stateDialog, "sent_state" + subMenu = throttle_modelDialog, "throttle_model" + subMenu = vvtDialog, "vvt" + subMenu = lambda_monitorDialog, "lambda_monitor" + + + +[ControllerCommands] +; commandName = command1, command2, commandn... +; command in standard ini format, a command name can be assigned to 1 to n commands that will be executed in order. +; This does not include any resultant protocol envelope data, only the response data itself. + +; WARNING!! These commands bypass TunerStudio's normal memory synchronization. If these commands +; alter mapped settings (Constant) memory in the controller, TunerStudio will have an out of sync condition +; and may create error messages. +; It is expected that these commands would not typically alter any ram mapped to a Constant. + +; +; see TS_IO_TEST_COMMAND in firmware code +; + +cmd_test_spk1 = "Z\x00\x12\x00\x01" +cmd_test_spk2 = "Z\x00\x12\x00\x02" +cmd_test_spk3 = "Z\x00\x12\x00\x03" +cmd_test_spk4 = "Z\x00\x12\x00\x04" +cmd_test_spk5 = "Z\x00\x12\x00\x05" +cmd_test_spk6 = "Z\x00\x12\x00\x06" +cmd_test_spk7 = "Z\x00\x12\x00\x07" +cmd_test_spk8 = "Z\x00\x12\x00\x08" +cmd_test_spk9 = "Z\x00\x12\x00\x09" +cmd_test_spk10 = "Z\x00\x12\x00\x0a" +cmd_test_spk11 = "Z\x00\x12\x00\x0b" +cmd_test_spk12 = "Z\x00\x12\x00\x0c" + +cmd_test_lua1 = "Z\x00\x20\x00\x01" +cmd_test_lua2 = "Z\x00\x20\x00\x02" +cmd_test_lua3 = "Z\x00\x20\x00\x03" +cmd_test_lua4 = "Z\x00\x20\x00\x04" +cmd_test_lua5 = "Z\x00\x20\x00\x05" +cmd_test_lua6 = "Z\x00\x20\x00\x06" +cmd_test_lua7 = "Z\x00\x20\x00\x07" +cmd_test_lua8 = "Z\x00\x20\x00\x08" + +cmd_test_inj1 = "Z\x00\x13\x00\x01" +cmd_test_inj2 = "Z\x00\x13\x00\x02" +cmd_test_inj3 = "Z\x00\x13\x00\x03" +cmd_test_inj4 = "Z\x00\x13\x00\x04" +cmd_test_inj5 = "Z\x00\x13\x00\x05" +cmd_test_inj6 = "Z\x00\x13\x00\x06" +cmd_test_inj7 = "Z\x00\x13\x00\x07" +cmd_test_inj8 = "Z\x00\x13\x00\x08" +cmd_test_inj9 = "Z\x00\x13\x00\x09" +cmd_test_inj10 = "Z\x00\x13\x00\x0a" +cmd_test_inj11 = "Z\x00\x13\x00\x0b" +cmd_test_inj12 = "Z\x00\x13\x00\x0c" + +cmd_test_cancel = "Z\x00\x16\x00\x0e" + +cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" +cmd_fuel_pump_off = "Z\x00\x16\x00\x10" + +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + +cmd_test_sol1 = "Z\x00\x19\x00\x01" +cmd_test_sol2 = "Z\x00\x19\x00\x02" +cmd_test_sol3 = "Z\x00\x19\x00\x03" +cmd_test_sol4 = "Z\x00\x19\x00\x04" +cmd_test_sol5 = "Z\x00\x19\x00\x05" +cmd_test_sol6 = "Z\x00\x19\x00\x06" + +cmd_test_main_relay = "Z\x00\x16\x00\x00" +cmd_test_starter_relay = "Z\x00\x16\x00\x01" +cmd_test_starter_disable_relay = "Z\x00\x16\x00\x02" +cmd_test_ac_relay = "Z\x00\x16\x00\x05" +cmd_test_fan_1 = "Z\x00\x16\x00\x03" +cmd_test_fan_2 = "Z\x00\x16\x00\x04" +cmd_test_check_engine_light = "Z\x00\x16\x00\x06" +cmd_test_idle_valve = "Z\x00\x16\x00\x07" +cmd_test_second_idle_valve = "Z\x00\x16\x00\x0d" +cmd_test_hpfp_valve = "Z\x00\x16\x00\x08" + +cmd_calibrate_tps_1_closed = "Z\x00\x14\x00\x02" +cmd_calibrate_tps_1_wot = "Z\x00\x14\x00\x03" +cmd_calibrate_tps_2_closed = "Z\x00\x14\x00\x04" +cmd_calibrate_tps_2_wot = "Z\x00\x14\x00\x05" +cmd_calibrate_pedal_up = "Z\x00\x14\x00\x06" +cmd_calibrate_pedal_down = "Z\x00\x14\x00\x07" +cmd_tle8888_init = "Z\x00\x14\x00\x08" +cmd_write_config = "Z\x00\x14\x00\x0A" +cmd_etb_autotune = "Z\x00\x14\x00\x0C" +cmd_enable_self_stim = "Z\x00\x14\x00\x0D" +cmd_etb_auto_calibrate = "Z\x00\x14\x00\x0E" +cmd_disable_self_stim = "Z\x00\x14\x00\x0F" +cmd_etb_autotune_stop = "Z\x00\x14\x00\x10" +cmd_etb_auto_calibrate_2 = "Z\x00\x14\x00\x11" +cmd_wideband_firmare_update = "Z\x00\x14\x00\x12" +cmd_enable_ext_stim = "Z\x00\x14\x00\x13" +cmd_burn_without_flash = "Z\x00\x14\x00\x15" + +cmd_set_wideband_idx_0 = "Z\x00\x15\x00\x00" +cmd_set_wideband_idx_1 = "Z\x00\x15\x00\x01" + +cmd_stop_engine = "Z\x00\x79\x00\x00" + +; reboot ECU +cmd_reset_controller = "Z\x00\xbb\x00\x00" +; jump to DFU mode +cmd_dfu = "Z\x00\xba\x00\x00" +; jump to OpenBLT bootloader +cmd_openblt = "Z\x00\xbc\x00\x00" + +; See 'executeTSCommand' in firmware source code + + +cmd_set_engine_type_microRusEFI_VW_B6 = "Z\x00\x1e\x00\x3e" +cmd_set_engine_type_microRusEFI_MRE_BODY_CONTROL = "Z\x00\x1e\x00\x17" + +cmd_set_engine_type_microRusEFI_Miata_NA6_MAP = "Z\x00\x1e\x00\x42" + +cmd_set_engine_type_microRusEFI_Miata_94_MAP = "Z\x00\x1e\x00\x14" + +cmd_set_engine_type_MRE_SUBARU_EJ18 = "Z\x00\x1e\x00\x25" + +cmd_set_engine_type_MRE_M111 = "Z\x00\x1e\x00\x44" + +cmd_set_engine_type_hellen_NA6 = "Z\x00\x1e\x00\x22" +cmd_set_engine_type_hellen_NA94 = "Z\x00\x1e\x00\x50" + +cmd_set_engine_type_hellen_NB1_36 = "Z\x00\x1e\x00\x5e" +cmd_set_engine_type_hellen_NB2_36 = "Z\x00\x1e\x00\x56" + +cmd_set_engine_type_hellen_nissan_121_4 = "Z\x00\x1e\x00\x54" +cmd_set_engine_type_hellen_nissan_121_6 = "Z\x00\x1e\x00\x48" +cmd_set_engine_type_hellen_nissan_121_8 = "Z\x00\x1e\x00\x55" + +cmd_set_engine_type_hellen_121_vag_4 = "Z\x00\x1e\x00\x47" +cmd_set_engine_type_hellen_121_vag_5 = "Z\x00\x1e\x00\x4d" +cmd_set_engine_type_hellen_121_vag_v6 = "Z\x00\x1e\x00\x4e" +cmd_set_engine_type_hellen_121_vag_vr6 = "Z\x00\x1e\x00\x4f" +cmd_set_engine_type_hellen_121_vag_8 = "Z\x00\x1e\x00\x51" + +cmd_set_engine_type_hellen_128_merc_4 = "Z\x00\x1e\x00\x24" +cmd_set_engine_type_hellen_128_merc_6 = "Z\x00\x1e\x00\x58" +cmd_set_engine_type_hellen_128_merc_8 = "Z\x00\x1e\x00\x59" + +cmd_set_engine_type_hellen_couple_bk1 = "Z\x00\x1e\x00\x52" +cmd_set_engine_type_hellen_couple_bk2 = "Z\x00\x1e\x00\x5f" + +; MIATA_NA6_MAP = 41 +cmd_set_engine_type_Frankenso_Miata_NA6_MAP = "Z\x00\x1e\x00\x29" +; MAZDA_MIATA_2003 = 47 +cmd_set_engine_type_Frankenso_Miata_NB2 = "Z\x00\x1e\x00\x2f" + +cmd_set_engine_type_Proteus_M73 = "Z\x00\x1e\x00\x3f" +cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" +cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" +cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" +cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" +cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" +cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" +cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" + + +; ETB_BENCH_ENGINE = 58 +cmd_set_engine_type_etb_test = "Z\x00\x1e\x00\x3A" +; ETB_BENCH_ENGINE = 59 +cmd_set_engine_type_8888_test = "Z\x00\x1e\x00\x3B" +cmd_set_engine_type_default = "Z\x00\x1f\x00\x00" + +[UserDefined] + +dialog = fuel_computerDialog, "fuel_computer" + liveGraph = fuel_computer_1_Graph, "Graph", South + graphLine = totalFuelCorrection + graphLine = running_postCrankingFuelCorrection + graphLine = running_intakeTemperatureCoefficient + graphLine = running_coolantTemperatureCoefficient + liveGraph = fuel_computer_2_Graph, "Graph", South + graphLine = running_timeSinceCrankingInSecs + graphLine = running_baseFuel + graphLine = running_fuel + graphLine = afrTableYAxis + liveGraph = fuel_computer_3_Graph, "Graph", South + graphLine = targetLambda + graphLine = targetAFR + graphLine = stoichiometricRatio + graphLine = sdTcharge_coff + liveGraph = fuel_computer_4_Graph, "Graph", South + graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling + + +dialog = ignition_stateDialog, "ignition_state" + liveGraph = ignition_state_1_Graph, "Graph", South + graphLine = baseDwell + graphLine = sparkDwell + graphLine = dwellAngle + graphLine = cltTimingCorrection + liveGraph = ignition_state_2_Graph, "Graph", South + graphLine = timingIatCorrection + graphLine = timingPidCorrection + graphLine = dwellVoltageCorrection + graphLine = luaTimingAdd + liveGraph = ignition_state_3_Graph, "Graph", South + graphLine = luaTimingMult + + +dialog = knock_controllerDialog, "knock_controller" + liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 + graphLine = m_knockRetard + graphLine = m_knockThreshold + graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South + graphLine = m_maximumRetard + +indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 + indicator = {noValve}, "noValve No", "noValve Yes" + indicator = {angleAboveMin}, "angleAboveMin No", "angleAboveMin Yes" + indicator = {isHpfpInactive}, "isHpfpInactive No", "isHpfpInactive Yes" + +dialog = high_pressure_fuel_pumpDialog, "high_pressure_fuel_pump" + panel = high_pressure_fuel_pumpIndicatorPanel + liveGraph = high_pressure_fuel_pump_1_Graph, "Graph", South + graphLine = m_requested_pump + graphLine = fuel_requested_percent + graphLine = fuel_requested_percent_pi + graphLine = nextLobe + liveGraph = high_pressure_fuel_pump_2_Graph, "Graph", South + graphLine = di_nextStart + + +dialog = injector_modelDialog, "injector_model" + liveGraph = injector_model_1_Graph, "Graph", South + graphLine = m_deadtime + graphLine = pressureDelta + graphLine = pressureRatio + +indicatorPanel = launch_control_stateIndicatorPanel, 2 + indicator = {combinedConditions}, "combinedConditions No", "combinedConditions Yes" + indicator = {launchActivatePinState}, "launchActivatePinState No", "launchActivatePinState Yes" + indicator = {isLaunchCondition}, "isLaunchCondition No", "isLaunchCondition Yes" + indicator = {isSwitchActivated}, "isSwitchActivated No", "isSwitchActivated Yes" + indicator = {isClutchActivated}, "isClutchActivated No", "isClutchActivated Yes" + indicator = {isValidInputPin}, "isValidInputPin No", "isValidInputPin Yes" + indicator = {activateSwitchCondition}, "activateSwitchCondition No", "activateSwitchCondition Yes" + indicator = {rpmCondition}, "rpmCondition No", "rpmCondition Yes" + indicator = {speedCondition}, "speedCondition No", "speedCondition Yes" + indicator = {tpsCondition}, "tpsCondition No", "tpsCondition Yes" + +dialog = launch_control_stateDialog, "launch_control_state" + panel = launch_control_stateIndicatorPanel + liveGraph = launch_control_state_1_Graph, "Graph", South + graphLine = retardThresholdRpm + +indicatorPanel = antilag_system_stateIndicatorPanel, 2 + indicator = {isAntilagCondition}, "isAntilagCondition No", "isAntilagCondition Yes" + indicator = {ALSMinRPMCondition}, "ALSMinRPMCondition No", "ALSMinRPMCondition Yes" + indicator = {ALSMaxRPMCondition}, "ALSMaxRPMCondition No", "ALSMaxRPMCondition Yes" + indicator = {ALSMinCLTCondition}, "ALSMinCLTCondition No", "ALSMinCLTCondition Yes" + indicator = {ALSMaxCLTCondition}, "ALSMaxCLTCondition No", "ALSMaxCLTCondition Yes" + indicator = {ALSMaxThrottleIntentCondition}, "ALSMaxThrottleIntentCondition No", "ALSMaxThrottleIntentCondition Yes" + indicator = {isALSSwitchActivated}, "isALSSwitchActivated No", "isALSSwitchActivated Yes" + indicator = {ALSActivatePinState}, "ALSActivatePinState No", "ALSActivatePinState Yes" + indicator = {ALSSwitchCondition}, "ALSSwitchCondition No", "ALSSwitchCondition Yes" + indicator = {ALSTimerCondition}, "ALSTimerCondition No", "ALSTimerCondition Yes" + +dialog = antilag_system_stateDialog, "antilag_system_state" + panel = antilag_system_stateIndicatorPanel + liveGraph = antilag_system_state_1_Graph, "Graph", South + graphLine = fuelALSCorrection + graphLine = timingALSCorrection + +indicatorPanel = boost_controlIndicatorPanel, 2 + indicator = {isTpsInvalid}, "isTpsInvalid No", "isTpsInvalid Yes" + indicator = {m_shouldResetPid}, "m_shouldResetPid No", "m_shouldResetPid Yes" + indicator = {isBelowClosedLoopThreshold}, "isBelowClosedLoopThreshold No", "isBelowClosedLoopThreshold Yes" + indicator = {isNotClosedLoop}, "isNotClosedLoop No", "isNotClosedLoop Yes" + indicator = {isZeroRpm}, "isZeroRpm No", "isZeroRpm Yes" + indicator = {hasInitBoost}, "hasInitBoost No", "hasInitBoost Yes" + indicator = {rpmTooLow}, "rpmTooLow No", "rpmTooLow Yes" + indicator = {tpsTooLow}, "tpsTooLow No", "tpsTooLow Yes" + indicator = {mapTooLow}, "mapTooLow No", "mapTooLow Yes" + +dialog = boost_controlDialog, "boost_control" + panel = boost_controlIndicatorPanel + liveGraph = boost_control_1_Graph, "Graph", South + graphLine = luaTargetAdd + graphLine = boostOutput + graphLine = luaTargetMult + graphLine = openLoopPart + liveGraph = boost_control_2_Graph, "Graph", South + graphLine = luaOpenLoopAdd + graphLine = boostControllerClosedLoopPart + graphLine = boostControlTarget + +indicatorPanel = ac_controlIndicatorPanel, 2 + indicator = {acButtonState}, "acButtonState No", "acButtonState Yes" + indicator = {m_acEnabled}, "m_acEnabled No", "m_acEnabled Yes" + indicator = {engineTooSlow}, "engineTooSlow No", "engineTooSlow Yes" + indicator = {engineTooFast}, "engineTooFast No", "engineTooFast Yes" + indicator = {noClt}, "noClt No", "noClt Yes" + indicator = {engineTooHot}, "engineTooHot No", "engineTooHot Yes" + indicator = {tpsTooHigh}, "tpsTooHigh No", "tpsTooHigh Yes" + indicator = {isDisabledByLua}, "isDisabledByLua No", "isDisabledByLua Yes" + indicator = {acCompressorState}, "acCompressorState No", "acCompressorState Yes" + +dialog = ac_controlDialog, "ac_control" + panel = ac_controlIndicatorPanel + liveGraph = ac_control_1_Graph, "Graph", South + graphLine = latest_usage_ac_control + graphLine = acSwitchLastChangeTimeMs + +indicatorPanel = fan_controlIndicatorPanel, 2 + indicator = {cranking}, "cranking No", "cranking Yes" + indicator = {notRunning}, "notRunning No", "notRunning Yes" + indicator = {disabledWhileEngineStopped}, "disabledWhileEngineStopped No", "disabledWhileEngineStopped Yes" + indicator = {brokenClt}, "brokenClt No", "brokenClt Yes" + indicator = {enabledForAc}, "enabledForAc No", "enabledForAc Yes" + indicator = {hot}, "hot No", "hot Yes" + indicator = {cold}, "cold No", "cold Yes" + +dialog = fan_controlDialog, "fan_control" + panel = fan_controlIndicatorPanel + +indicatorPanel = fuel_pump_controlIndicatorPanel, 2 + indicator = {isPrime}, "isPrime No", "isPrime Yes" + indicator = {engineTurnedRecently}, "engineTurnedRecently No", "engineTurnedRecently Yes" + indicator = {isFuelPumpOn}, "isFuelPumpOn No", "isFuelPumpOn Yes" + indicator = {ignitionOn}, "ignitionOn No", "ignitionOn Yes" + +dialog = fuel_pump_controlDialog, "fuel_pump_control" + panel = fuel_pump_controlIndicatorPanel + +indicatorPanel = main_relayIndicatorPanel, 2 + indicator = {isBenchTest}, "isBenchTest No", "isBenchTest Yes" + indicator = {hasIgnitionVoltage}, "hasIgnitionVoltage No", "hasIgnitionVoltage Yes" + indicator = {mainRelayState}, "mainRelayState No", "mainRelayState Yes" + indicator = {delayedShutoffRequested}, "delayedShutoffRequested No", "delayedShutoffRequested Yes" + +dialog = main_relayDialog, "main_relay" + panel = main_relayIndicatorPanel + +indicatorPanel = engine_stateIndicatorPanel, 2 + indicator = {lua_clutchUpState}, "clutchUpState No", "clutchUpState Yes" + indicator = {lua_brakePedalState}, "brakePedalState No", "brakePedalState Yes" + indicator = {lua_acRequestState}, "acRequestState No", "acRequestState Yes" + indicator = {lua_luaDisableEtb}, "luaDisableEtb No", "luaDisableEtb Yes" + indicator = {lua_luaIgnCut}, "luaIgnCut No", "luaIgnCut Yes" + indicator = {clutchUpState}, "clutchUpState No", "clutchUpState Yes" + indicator = {clutchDownState}, "clutchDownState No", "clutchDownState Yes" + indicator = {brakePedalState}, "brakePedalState No", "brakePedalState Yes" + indicator = {startStopState}, "startStopState No", "startStopState Yes" + +dialog = engine_stateDialog, "engine_state" + panel = engine_stateIndicatorPanel + liveGraph = engine_state_1_Graph, "Graph", South + graphLine = lua_fuelAdd + graphLine = lua_fuelMult + graphLine = sd_tCharge + graphLine = sd_tChargeK + liveGraph = engine_state_2_Graph, "Graph", South + graphLine = crankingFuel_coolantTemperatureCoefficient + graphLine = crankingFuel_tpsCoefficient + graphLine = crankingFuel_durationCoefficient + graphLine = crankingFuel_fuel + liveGraph = engine_state_3_Graph, "Graph", South + graphLine = baroCorrection + graphLine = hellenBoardId + graphLine = startStopStateToggleCounter + graphLine = egtValue1 + liveGraph = engine_state_4_Graph, "Graph", South + graphLine = egtValue2 + graphLine = desiredRpmLimit + graphLine = fuelInjectionCounter + graphLine = sparkCounter + liveGraph = engine_state_5_Graph, "Graph", South + graphLine = fuelingLoad + graphLine = ignitionLoad + graphLine = veTableYAxis + +indicatorPanel = tps_accel_stateIndicatorPanel, 2 + indicator = {isAboveAccelThreshold}, "isAboveAccelThreshold No", "isAboveAccelThreshold Yes" + indicator = {isBelowDecelThreshold}, "isBelowDecelThreshold No", "isBelowDecelThreshold Yes" + indicator = {isTimeToResetAccumulator}, "isTimeToResetAccumulator No", "isTimeToResetAccumulator Yes" + indicator = {isFractionalEnrichment}, "isFractionalEnrichment No", "isFractionalEnrichment Yes" + indicator = {belowEpsilon}, "belowEpsilon No", "belowEpsilon Yes" + indicator = {tooShort}, "tooShort No", "tooShort Yes" + +dialog = tps_accel_stateDialog, "tps_accel_state" + panel = tps_accel_stateIndicatorPanel + liveGraph = tps_accel_state_1_Graph, "Graph", South + graphLine = tpsFrom + graphLine = tpsTo + graphLine = deltaTps + graphLine = extraFuel + liveGraph = tps_accel_state_2_Graph, "Graph", South + graphLine = valueFromTable + graphLine = fractionalInjFuel + graphLine = accumulatedValue + graphLine = maxExtraPerCycle + liveGraph = tps_accel_state_3_Graph, "Graph", South + graphLine = maxExtraPerPeriod + graphLine = maxInjectedPerPeriod + graphLine = cycleCnt + + +dialog = trigger_centralDialog, "trigger_central" + liveGraph = trigger_central_1_Graph, "Graph", South + graphLine = hwEventCounters1 + graphLine = hwEventCounters2 + graphLine = hwEventCounters3 + graphLine = hwEventCounters4 + liveGraph = trigger_central_2_Graph, "Graph", South + graphLine = hwEventCounters5 + graphLine = hwEventCounters6 + graphLine = vvtCamCounter + graphLine = mapVvt_MAP_AT_SPECIAL_POINT + liveGraph = trigger_central_3_Graph, "Graph", South + graphLine = mapVvt_MAP_AT_DIFF + graphLine = mapVvt_MAP_AT_CYCLE_COUNT + graphLine = mapVvt_map_peak + graphLine = currentEngineDecodedPhase + liveGraph = trigger_central_4_Graph, "Graph", South + graphLine = triggerToothAngleError + graphLine = triggerIgnoredToothCount + + +dialog = trigger_stateDialog, "trigger_state" + liveGraph = trigger_state_1_Graph, "Graph", South + graphLine = crankSynchronizationCounter + graphLine = vvtSyncGapRatio + graphLine = triggerSyncGapRatio + graphLine = triggerStateIndex + liveGraph = trigger_state_2_Graph, "Graph", South + graphLine = vvtCounter + graphLine = camResyncCounter + graphLine = vvtStateIndex + +indicatorPanel = trigger_state_primaryIndicatorPanel, 2 + indicator = {m_hasSynchronizedPhase}, "m_hasSynchronizedPhase No", "m_hasSynchronizedPhase Yes" + +dialog = trigger_state_primaryDialog, "trigger_state_primary" + panel = trigger_state_primaryIndicatorPanel + + +dialog = wall_fuel_stateDialog, "wall_fuel_state" + liveGraph = wall_fuel_state_1_Graph, "Graph", South + graphLine = wallFuelCorrection + graphLine = wallFuel + +indicatorPanel = idle_stateIndicatorPanel, 2 + indicator = {mightResetPid}, "mightResetPid No", "mightResetPid Yes" + indicator = {shouldResetPid}, "shouldResetPid No", "shouldResetPid Yes" + indicator = {wasResetPid}, "wasResetPid No", "wasResetPid Yes" + indicator = {mustResetPid}, "mustResetPid No", "mustResetPid Yes" + indicator = {isCranking}, "isCranking No", "isCranking Yes" + indicator = {isIacTableForCoasting}, "isIacTableForCoasting No", "isIacTableForCoasting Yes" + indicator = {notIdling}, "notIdling No", "notIdling Yes" + indicator = {needReset}, "needReset No", "needReset Yes" + indicator = {isInDeadZone}, "isInDeadZone No", "isInDeadZone Yes" + indicator = {isBlipping}, "isBlipping No", "isBlipping Yes" + indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" + indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" + indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" + indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" + indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" + +dialog = idle_stateDialog, "idle_state" + panel = idle_stateIndicatorPanel + liveGraph = idle_state_1_Graph, "Graph", South + graphLine = idleState + graphLine = currentIdlePosition + graphLine = baseIdlePosition + graphLine = idleClosedLoop + liveGraph = idle_state_2_Graph, "Graph", South + graphLine = iacByTpsTaper + graphLine = throttlePedalUpState + graphLine = idleTarget + graphLine = targetRpmByClt + liveGraph = idle_state_3_Graph, "Graph", South + graphLine = targetRpmAcBump + graphLine = iacByRpmTaper + graphLine = luaAdd + +indicatorPanel = electronic_throttleIndicatorPanel, 2 + indicator = {etbRevLimitActive}, "etbRevLimitActive No", "etbRevLimitActive Yes" + indicator = {jamDetected}, "jamDetected No", "jamDetected Yes" + +dialog = electronic_throttleDialog, "electronic_throttle" + panel = electronic_throttleIndicatorPanel + liveGraph = electronic_throttle_1_Graph, "Graph", South + graphLine = idlePosition + graphLine = trim + graphLine = luaAdjustment + graphLine = m_wastegatePosition + liveGraph = electronic_throttle_2_Graph, "Graph", South + graphLine = etbFeedForward + graphLine = etbIntegralError + graphLine = etbCurrentTarget + graphLine = etbCurrentAdjustedTarget + liveGraph = electronic_throttle_3_Graph, "Graph", South + graphLine = etbDutyRateOfChange + graphLine = etbDutyAverage + graphLine = etbTpsErrorCounter + graphLine = etbPpsErrorCounter + liveGraph = electronic_throttle_4_Graph, "Graph", South + graphLine = etbErrorCode + graphLine = jamTimer + + +dialog = wideband_stateDialog, "wideband_state" + liveGraph = wideband_state_1_Graph, "Graph", South + graphLine = faultCode + graphLine = heaterDuty + graphLine = pumpDuty + graphLine = tempC + liveGraph = wideband_state_2_Graph, "Graph", South + graphLine = nernstVoltage + graphLine = esr + +indicatorPanel = dc_motorsIndicatorPanel, 2 + indicator = {isEnabled0}, "isEnabled0 No", "isEnabled0 Yes" + +dialog = dc_motorsDialog, "dc_motors" + panel = dc_motorsIndicatorPanel + liveGraph = dc_motors_1_Graph, "Graph", South + graphLine = dcOutput0 + graphLine = isEnabled0_int + + +dialog = sent_stateDialog, "sent_state" + liveGraph = sent_state_1_Graph, "Graph", South + graphLine = value0 + graphLine = value1 + graphLine = errorRate + +indicatorPanel = throttle_modelIndicatorPanel, 2 + indicator = {throttleUseWotModel}, "throttleUseWotModel No", "throttleUseWotModel Yes" + +dialog = throttle_modelDialog, "throttle_model" + panel = throttle_modelIndicatorPanel + liveGraph = throttle_model_1_Graph, "Graph", South + graphLine = throttleModelCrossoverAngle + graphLine = throttleEstimatedFlow + + +dialog = vvtDialog, "vvt" + liveGraph = vvt_1_Graph, "Graph", South + graphLine = vvtTarget + graphLine = vvtOutput + +indicatorPanel = lambda_monitorIndicatorPanel, 2 + indicator = {lambdaCurrentlyGood}, "lambdaCurrentlyGood No", "lambdaCurrentlyGood Yes" + indicator = {lambdaMonitorCut}, "lambdaMonitorCut No", "lambdaMonitorCut Yes" + +dialog = lambda_monitorDialog, "lambda_monitor" + panel = lambda_monitorIndicatorPanel + liveGraph = lambda_monitor_1_Graph, "Graph", South + graphLine = lambdaTimeSinceGood + + + + dialog = scriptTable1TblSettings, "", yAxis + field = "Name", scriptTableName1 + panel = scriptTable1Tbl + + dialog = scriptTable2TblSettings, "", yAxis + field = "Name", scriptTableName2 + panel = scriptTable2Tbl + + dialog = scriptTable3TblSettings, "", yAxis + field = "Name", scriptTableName3 + panel = scriptTable3Tbl + + dialog = scriptTable4TblSettings, "", yAxis + field = "Name", scriptTableName4 + panel = scriptTable4Tbl + + dialog = scriptCurve1Settings, "", yAxis + field = "Name", scriptCurveName1 + panel = scriptCurve1 + + dialog = scriptCurve2Settings, "", yAxis + field = "Name", scriptCurveName2 + panel = scriptCurve2 + + dialog = scriptCurve3Settings, "", yAxis + field = "Name", scriptCurveName3 + panel = scriptCurve3 + + dialog = scriptCurve4Settings, "", yAxis + field = "Name", scriptCurveName4 + panel = scriptCurve4 + + dialog = scriptCurve5Settings, "", yAxis + field = "Name", scriptCurveName5 + panel = scriptCurve5 + + dialog = scriptCurve6Settings, "", yAxis + field = "Name", scriptCurveName6 + panel = scriptCurve6 + + dialog = tChargeRpmTpsSettings, "RPM+TPS mode" + field = "We use these coefficients to approximate air/fuel charge" + field = "temperature based on CLT and IAT, depending on RPM and TPM" + field = "Low RPM/Low TPS", tChargeMinRpmMinTps + field = "Low RPM/High TPS", tChargeMinRpmMaxTps + field = "High RPM/Low TPS", tChargeMaxRpmMinTps + field = "High RPM/High TPS", tChargeMaxRpmMaxTps + + dialog = tChargeGeneralSettings, "" + field = "Mode", tChargeMode + field = "#These two parameters limit the estimate's rate of change" + field = "Increase rate limit", tChargeAirIncrLimit + field = "Decrease rate limit", tChargeAirDecrLimit + field = "" + + dialog = tChargeAirInterpSettings, "Airflow interpolation mode" + field = "Low flow coefficient", tChargeAirCoefMin + field = "High flow coefficient", tChargeAirCoefMax + field = "Max air flow", tChargeAirFlowMax + + dialog = tChargeSettings, "Charge temperature estimation" + panel = tChargeGeneralSettings + panel = tChargeRpmTpsSettings, { tChargeMode == 0} + panel = tChargeAirInterpSettings, { tChargeMode == 1} + panel = tchargeCurve, { tChargeMode == 2 } + + dialog = baseInjection, "Injection" + field = "Enabled", isInjectionEnabled + field = "Mode", injectionMode, {isInjectionEnabled == 1} + field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } + field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } + field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } + field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } + + dialog = ignitionOutputs, "Ignition Outputs" + field = "Ignition Output Mode", ignitionPinMode, {isIgnitionEnabled == 1} + field = "Ignition Pin 1", ignitionPins1, { isIgnitionEnabled == 1 } + field = "Ignition Pin 2", ignitionPins2, { isIgnitionEnabled == 1 && cylindersCount >= 2 } + field = "Ignition Pin 3", ignitionPins3, { isIgnitionEnabled == 1 && cylindersCount >= 3 } + field = "Ignition Pin 4", ignitionPins4, { isIgnitionEnabled == 1 && cylindersCount >= 4 } + field = "Ignition Pin 5", ignitionPins5, { isIgnitionEnabled == 1 && cylindersCount >= 5 } + field = "Ignition Pin 6", ignitionPins6, { isIgnitionEnabled == 1 && cylindersCount >= 6 } + field = "Ignition Pin 7", ignitionPins7, { isIgnitionEnabled == 1 && cylindersCount >= 7 } + field = "Ignition Pin 8", ignitionPins8, { isIgnitionEnabled == 1 && cylindersCount >= 8 } + field = "Ignition Pin 9", ignitionPins9, { isIgnitionEnabled == 1 && cylindersCount >= 9 } + field = "Ignition Pin 10", ignitionPins10, { isIgnitionEnabled == 1 && cylindersCount >= 10 } + field = "Ignition Pin 11", ignitionPins11, { isIgnitionEnabled == 1 && cylindersCount >= 11 } + field = "Ignition Pin 12", ignitionPins12, { isIgnitionEnabled == 1 && cylindersCount >= 12 } + + dialog = ignitionBasic, "" + field = "Enabled", isIgnitionEnabled + field = "Mode", ignitionMode, {isIgnitionEnabled} + field = "Maximum timing advance", maximumIgnitionTiming, {isIgnitionEnabled} + field = "Minimum timing advance", minimumIgnitionTiming, {isIgnitionEnabled} + field = "Override ignition table load axis", ignOverrideMode, {isIgnitionEnabled} + field = "#Use fixed timing while validating with a timing gun" + field = "Timing Mode", timingMode, {isIgnitionEnabled} + field = "Fixed Timing", fixedTiming, {isIgnitionEnabled == 1 && timingMode == 1} + + dialog = ignitionSettings, "", xAxis + panel = ignitionBasic + panel = ignitionOutputs + + dialog = baseEngineConfig, "Engine Configuration" +; field = "Engine preset", engineType + field = "Number of cylinders", cylindersCount + field = "Displacement", displacement + field = "Firing order", firingOrder + field = "Vehicle weight", vehicleWeight + + dialog = engineMetadata, "Engine Metadata" + field = "#These metadata are used by https://tunes.fome.tech" + field = "Engine Make", engineMake + field = "Manufacturer Engine Code", engineCode + field = "Vehicle Name", vehicleName + field = "Compression Ratio", compressionRatio + field = "Forced Induction?", isForcedInduction + + dialog = trigger_primary, "Primary Trigger" + topicHelp = "triggerHelp" + ; see also in firmware '[doesTriggerImplyOperationMode]' tag + field = "Engine type", twoStroke + field = "" + field = "Trigger type", trigger_type + field = "Total tooth count", trigger_customTotalToothCount, {trigger_type == 0}, {trigger_type == 0} + field = "Missing/skipped tooth count", trigger_customSkippedToothCount, {trigger_type == 0}, {trigger_type == 0} + field = "Primary trigger location", skippedWheelOnCam, 1, { twoStroke == 0 && (trigger_type == 0 || trigger_type == 8 || trigger_type == 9 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73) } + field = "" + field = "!Reminder that 4-stroke cycle is 720 degrees" + field = "!For well-known trigger types use '0' trigger angle offset" + field = "Trigger Angle Advance", globalTriggerAngleOffset + + field = "" + field = "" + + field = "#Cam is primary if you have cam sensor as part of trigger shape" + ; cam if + ; two-stroke, or + ; not crank trigger and ((vague trigger and cam choice) or not vague trigger) + field = "Cam Sensor (Primary channel)", triggerInputPins1, 1, {twoStroke == 1 || ( !(trigger_type == 2 || trigger_type == 5 || trigger_type == 10 || trigger_type == 12 || trigger_type == 20 || trigger_type == 21 || trigger_type == 26 || trigger_type == 27 || trigger_type == 33 || trigger_type == 38 || trigger_type == 39 || trigger_type == 44 || trigger_type == 45 || trigger_type == 46 || trigger_type == 53 || trigger_type == 55 || trigger_type == 57 || trigger_type == 58 || trigger_type == 61 || trigger_type == 62 || trigger_type == 68 || trigger_type == 70 || trigger_type == 71 || trigger_type == 72 || trigger_type == 74) && ( ( (trigger_type == 8 || trigger_type == 9 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73) && skippedWheelOnCam) || !(trigger_type == 8 || trigger_type == 9 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73) ) ) } + field = "Crank Sensor (Primary channel)", triggerInputPins1, 1, { !(twoStroke == 1 || ( !(trigger_type == 2 || trigger_type == 5 || trigger_type == 10 || trigger_type == 12 || trigger_type == 20 || trigger_type == 21 || trigger_type == 26 || trigger_type == 27 || trigger_type == 33 || trigger_type == 38 || trigger_type == 39 || trigger_type == 44 || trigger_type == 45 || trigger_type == 46 || trigger_type == 53 || trigger_type == 55 || trigger_type == 57 || trigger_type == 58 || trigger_type == 61 || trigger_type == 62 || trigger_type == 68 || trigger_type == 70 || trigger_type == 71 || trigger_type == 72 || trigger_type == 74) && ( ( (trigger_type == 8 || trigger_type == 9 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73) && skippedWheelOnCam) || !(trigger_type == 8 || trigger_type == 9 || trigger_type == 17 || trigger_type == 18 || trigger_type == 23 || trigger_type == 48 || trigger_type == 69 || trigger_type == 73) ) )) } + field = "Invert Primary", invertPrimaryTriggerSignal + field = "Secondary channel", triggerInputPins2, { triggerInputPins2 != 0 || (triggerInputPins1 != 0 && (trigger_type == 1 || trigger_type == 3 || trigger_type == 11 || trigger_type == 15 || trigger_type == 16 || trigger_type == 19 || trigger_type == 25 || trigger_type == 28 || trigger_type == 31 || trigger_type == 35 || trigger_type == 36 || trigger_type == 37 || trigger_type == 40 || trigger_type == 49 || trigger_type == 50 || trigger_type == 53 || trigger_type == 54 || trigger_type == 63 || trigger_type == 64) ) }, { triggerInputPins2 == 0 || (triggerInputPins1 != 0 && (trigger_type == 1 || trigger_type == 3 || trigger_type == 11 || trigger_type == 15 || trigger_type == 16 || trigger_type == 19 || trigger_type == 25 || trigger_type == 28 || trigger_type == 31 || trigger_type == 35 || trigger_type == 36 || trigger_type == 37 || trigger_type == 40 || trigger_type == 49 || trigger_type == 50 || trigger_type == 53 || trigger_type == 54 || trigger_type == 63 || trigger_type == 64) ) } + field = "!!! PLEASE UNSELECT !!!" triggerInputPins2, 1, { triggerInputPins2 != 0 && !(triggerInputPins1 != 0 && (trigger_type == 1 || trigger_type == 3 || trigger_type == 11 || trigger_type == 15 || trigger_type == 16 || trigger_type == 19 || trigger_type == 25 || trigger_type == 28 || trigger_type == 31 || trigger_type == 35 || trigger_type == 36 || trigger_type == 37 || trigger_type == 40 || trigger_type == 49 || trigger_type == 50 || trigger_type == 53 || trigger_type == 54 || trigger_type == 63 || trigger_type == 64) ) } + field = "Invert Secondary", invertSecondaryTriggerSignal, {triggerInputPins2 != 0 && (trigger_type == 1 || trigger_type == 3 || trigger_type == 11 || trigger_type == 15 || trigger_type == 16 || trigger_type == 19 || trigger_type == 25 || trigger_type == 28 || trigger_type == 31 || trigger_type == 35 || trigger_type == 36 || trigger_type == 37 || trigger_type == 40 || trigger_type == 49 || trigger_type == 50 || trigger_type == 53 || trigger_type == 54 || trigger_type == 63 || trigger_type == 64) } + + dialog = trigger_cams, "Cam Inputs" + field = "!https://wiki.fome.tech/r/vvt" + ; todo: code generator to hard-code all triggers not requiring VVT? + ; todo: https://github.com/rusefi/rusefi/issues/2077 + + field = "Cam mode (intake)", vvtMode1, {trigger_type != 3} + field = "Cam mode (exhaust)", vvtMode2, {trigger_type != 3} + field = "" + field = "Cam sensor bank 1 intake", camInputs1, { camInputs1 != 0 || (vvtMode1 != 0 ) } + field = "Cam sensor bank 1 exhaust", camInputs2, { camInputs2 != 0 || (vvtMode2 != 0 && camInputs1 != 0 ) } + field = "Cam sensor bank 2 intake", camInputs3, { camInputs3 != 0 || (vvtMode1 != 0 && camInputs1 != 0 ) } + field = "Cam sensor bank 2 exhaust", camInputs4, { camInputs4 != 0 || (vvtMode2 != 0 && camInputs2 != 0 ) } + field = "Invert cam inputs", invertCamVVTSignal, { camInputs1 != 0 } + field = "" + field = "#Set offset so VVT indicates 0 degrees in default position" + field = "VVT offset bank 1 intake", vvtOffsets1, { camInputs1 != 0 } + field = "VVT offset bank 1 exhaust", vvtOffsets2, { camInputs2 != 0 } + field = "VVT offset bank 2 intake", vvtOffsets3, { camInputs3 != 0 } + field = "VVT offset bank 2 exhaust", vvtOffsets4, { camInputs4 != 0 } + field = "" + field = "Cam for engine sync resolution", engineSyncCam, { vvtMode1 != 0 || vvtMode2 != 0 } + + dialog = triggerConfiguration_gap, "Trigger Gap Override" + field = "!This is an advanced feature for debugging trigger synchronization" + field = "Override trigger gaps", overrideTriggerGaps + field = "Count", gapTrackingLengthOverride, { overrideTriggerGaps == 1 } + field = "Gap #1 from", triggerGapOverrideFrom1, { overrideTriggerGaps == 1 } + field = "Gap #1 to", triggerGapOverrideTo1, { overrideTriggerGaps == 1 } + field = "Gap #2 from", triggerGapOverrideFrom2, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 2 } + field = "Gap #2 to", triggerGapOverrideTo2, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 2 } + field = "Gap #3 from", triggerGapOverrideFrom3, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 3 } + field = "Gap #3 to", triggerGapOverrideTo3, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 3 } + field = "Gap #4 from", triggerGapOverrideFrom4, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 4 } + field = "Gap #4 to", triggerGapOverrideTo4, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 4 } + field = "Gap #5 from", triggerGapOverrideFrom5, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 5 } + field = "Gap #5 to", triggerGapOverrideTo5, { overrideTriggerGaps == 1 && gapTrackingLengthOverride >= 5 } + + dialog = triggerInputComparator, "Built-in Comparator Settings (Kinetis-only)" + field = "Comparator Center Point Voltage", triggerCompCenterVolt + field = "Comparator hysteresis voltage (Min)", triggerCompHystMin + field = "Comparator hysteresis voltage (Max)", triggerCompHystMax + field = "VR-sensor saturation RPM", triggerCompSensorSatRpm + + dialog = trigger_advanced, "Advanced Trigger" + field = "Require cam/VVT sync for ignition", isPhaseSyncRequiredForIgnition + field = "Maximum cam/VVT sync RPM", maxCamPhaseResolveRpm + field = "MAP readout angle", mapCamDetectionAnglePosition, 1, { vvtMode1 == 13 } + field = "Print verbose VVT sync details to console",verboseVVTDecoding + field = "Print verbose trigger sync to console", verboseTriggerSynchDetails + field = "Do not print messages in case of sync error", silentTriggerError + field = "Focus on inputs in engine sniffer", engineSnifferFocusOnInputs + field = "Debug Trigger Sync", debugTriggerSync + panel = triggerConfiguration_gap + + dialog = triggerConfiguration, "", xAxis + panel = trigger_primary + panel = trigger_cams + +; Engine->Injection Settings + dialog = injChars, "Injector Settings", yAxis + field = "Injector flow", injector_flow, {isInjectionEnabled == 1} + field = "Injector flow units", injectorFlowAsMassFlow, {isInjectionEnabled == 1} + field = "Fuel rail pressure sensor", injectorPressureType, { isInjectionEnabled && (highPressureFuel_hwChannel || lowPressureFuel_hwChannel) } + field = "Injector flow compensation mode", injectorCompensationMode, { isInjectionEnabled } + field = "Injector reference pressure", fuelReferencePressure, { isInjectionEnabled && injectorCompensationMode != 0 } + + dialog = fuelParams, "Fuel characteristics", yAxis + field = "Stoichiometric ratio", stoichRatioPrimary, {isInjectionEnabled == 1} + field = "E100 stoichiometric ratio", stoichRatioSecondary, {isInjectionEnabled == 1 && flexSensorPin != 0 } + + dialog = injectorPins, "Injector Outputs", yAxis + field = "Use only first half of outputs for batch mode" + field = "Injection Output 1", injectionPins1, {isInjectionEnabled == 1} + field = "Injection Output 2", injectionPins2, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 1} + field = "Injection Output 3", injectionPins3, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 2} + field = "Injection Output 4", injectionPins4, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 3} + field = "Injection Output 5 ", injectionPins5, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 4} + field = "Injection Output 6 ", injectionPins6, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 5} + field = "Injection Output 7 ", injectionPins7, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 6} + field = "Injection Output 8 ", injectionPins8, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 7} + field = "Injection Output 9 ", injectionPins9, {isInjectionEnabled == 1 && cylindersCount > 8} + field = "Injection Output 10 ", injectionPins10, {isInjectionEnabled == 1 && cylindersCount > 9} + field = "Injection Output 11 ", injectionPins11, {isInjectionEnabled == 1 && cylindersCount > 10} + field = "Injection Output 12 ", injectionPins12, {isInjectionEnabled == 1 && cylindersCount > 11} + field = "" + field = "injection Output(s) Mode", injectionPinMode, {isInjectionEnabled == 1} + + dialog = cylinderBankSelect, "Cylinder Banks", yAxis + field = "Cylinder 1", cylinderBankSelect1, {isInjectionEnabled == 1} + field = "Cylinder 2", cylinderBankSelect2, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 1} + field = "Cylinder 3", cylinderBankSelect3, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 2} + field = "Cylinder 4", cylinderBankSelect4, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 3} + field = "Cylinder 5 ", cylinderBankSelect5, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 4} + field = "Cylinder 6 ", cylinderBankSelect6, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 5} + field = "Cylinder 7 ", cylinderBankSelect7, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 6} + field = "Cylinder 8 ", cylinderBankSelect8, {isInjectionEnabled == 1 && injectionMode != 3 && cylindersCount > 7} + field = "Cylinder 9 ", cylinderBankSelect9, {isInjectionEnabled == 1 && cylindersCount > 8} + field = "Cylinder 10 ", cylinderBankSelect10, {isInjectionEnabled == 1 && cylindersCount > 9} + field = "Cylinder 11 ", cylinderBankSelect11, {isInjectionEnabled == 1 && cylindersCount > 10} + field = "Cylinder 12 ", cylinderBankSelect12, {isInjectionEnabled == 1 && cylindersCount > 11} + + dialog = injectorNonlinearPolynomial, "Polynomial Adder", yAxis + field = "Add nonlinearity below pulse", applyNonlinearBelowPulse + field = "constant", injectorCorrectionPolynomial1 + field = "x^1", injectorCorrectionPolynomial2 + field = "x^2", injectorCorrectionPolynomial3 + field = "x^3", injectorCorrectionPolynomial4 + field = "x^4", injectorCorrectionPolynomial5 + field = "x^5", injectorCorrectionPolynomial6 + field = "x^6", injectorCorrectionPolynomial7 + field = "x^7", injectorCorrectionPolynomial8 + + dialog = injectorNonlinearFord, "Ford-model Small Pulse Correction", yAxis + field = "Small pulse slope (ALOSL)", fordInjectorSmallPulseSlope + field = "Set this to 'mass flow'", injectorFlowAsMassFlow + field = "Large pulse slope (AHISL)", injector_flow + field = "Small pulse breakpoint (FUEL_BKPT)", fordInjectorSmallPulseBreakPoint + + dialog = injectorNonlinear + field = "Small pulse correction mode", injectorNonlinearMode + panel = injectorNonlinearPolynomial, {1}, { injectorNonlinearMode == 1 } + panel = injectorNonlinearFord, {1}, { injectorNonlinearMode == 2 } + + dialog = testLuaOut, "Lua Out Test" + commandButton = "Lua Out #1", cmd_test_lua1 + commandButton = "Lua Out #2", cmd_test_lua2 + commandButton = "Lua Out #3", cmd_test_lua3 + commandButton = "Lua Out #4", cmd_test_lua4 + commandButton = "Lua Out #5", cmd_test_lua5 + commandButton = "Lua Out #6", cmd_test_lua6 + commandButton = "Lua Out #7", cmd_test_lua7 + commandButton = "Lua Out #8", cmd_test_lua8 + commandButton = "Abort test", cmd_test_cancel + + dialog = testSolenoids, "TCU Solenoid Test" + commandButton = "Solenoid #1", cmd_test_sol1 + commandButton = "Solenoid #2", cmd_test_sol2 + commandButton = "Solenoid #3", cmd_test_sol3 + commandButton = "Solenoid #4", cmd_test_sol4 + commandButton = "Solenoid #5", cmd_test_sol5 + commandButton = "Solenoid #6", cmd_test_sol6 + commandButton = "Abort test", cmd_test_cancel + + dialog = testOther + field = "Count", benchTestCount + field = "On Time", benchTestOnTime + field = "Off Time", benchTestOffTime + panel = testSolenoids + + dialog = injectorConfig, "", yAxis + topicHelp = "fuelHelp" + panel = baseInjection + panel = injChars + panel = fuelParams + panel = injectorsDeadTime + + dialog = ignitionCylExtra, "Cylinder offsets" + field = "Offset angle for each cylinder if you have an odd fire" + field = "engine, like a v-twin or some V6/V10 engines" + field = "#Positive numbers retard, negative numbers advance" + field = "Offset cyl 1", timing_offset_cylinder1 + field = "Offset cyl 2", timing_offset_cylinder2, {cylindersCount > 1} + field = "Offset cyl 3", timing_offset_cylinder3, {cylindersCount > 2} + field = "Offset cyl 4", timing_offset_cylinder4, {cylindersCount > 3} + field = "Offset cyl 5", timing_offset_cylinder5, {cylindersCount > 4} + field = "Offset cyl 6", timing_offset_cylinder6, {cylindersCount > 5} + field = "Offset cyl 7", timing_offset_cylinder7, {cylindersCount > 6} + field = "Offset cyl 8", timing_offset_cylinder8, {cylindersCount > 7} + field = "Offset cyl 9", timing_offset_cylinder9, {cylindersCount > 8} + field = "Offset cyl 10", timing_offset_cylinder10, {cylindersCount > 9} + field = "Offset cyl 11", timing_offset_cylinder11, {cylindersCount > 10} + field = "Offset cyl 12", timing_offset_cylinder12, {cylindersCount > 11} + + dialog = multisparkDwellParams, "Delay & Dwell" + field = "Spark duration", multisparkSparkDuration, {multisparkEnable} + field = "Subsequent spark dwell", multisparkDwell, {multisparkEnable} + + dialog = multisparkMain, "Configuration" + field = "Maximum engine speed", multisparkMaxRpm, {multisparkEnable} + field = "Fire sparks for this angle duration" multisparkMaxSparkingAngle, {multisparkEnable} + field = "Maximum extra spark count" multisparkMaxExtraSparkCount, {multisparkEnable} + + dialog = multisparkSettings, "Multispark" + field = "#WARNING! These settings have the potential to overheat ignition components" + field = "#and cause other nasty misbehavior. Use with care, at your own risk!" + field = "#Not recommended for use on distributor or wasted spark ignition systems." + field = "Enable multiple sparks", multisparkEnable + panel = multisparkMain + panel = multisparkDwellParams + + dialog = ignAdder1Cfg, "Ignition adder 1 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the base ignition table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in 5.0 degrees of ignition timing added." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", ignBlends1_blendParameter + panel = ignAdder1Bias + + dialog = ignAdder2Cfg, "Ignition adder 2 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the base ignition table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in 5.0 degrees of ignition timing added." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", ignBlends2_blendParameter + panel = ignAdder2Bias + + dialog = ignAdder3Cfg, "Ignition adder 3 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the base ignition table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in 5.0 degrees of ignition timing added." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", ignBlends3_blendParameter + panel = ignAdder3Bias + + dialog = ignAdder4Cfg, "Ignition adder 4 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the base ignition table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in 5.0 degrees of ignition timing added." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", ignBlends4_blendParameter + panel = ignAdder4Bias + + dialog = veBlend1Cfg, "VE blend 1 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the VE table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", veBlends1_blendParameter + panel = veBlend1Bias + + dialog = veBlend2Cfg, "VE blend 2 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the VE table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", veBlends2_blendParameter + panel = veBlend2Bias + + dialog = veBlend3Cfg, "VE blend 3 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the VE table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", veBlends3_blendParameter + panel = veBlend3Bias + + dialog = veBlend4Cfg, "VE blend 4 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the VE table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", veBlends4_blendParameter + panel = veBlend4Bias + + dialog = boostOpenBlend1Cfg, "Boost open loop blend 1 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the open loop boost table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0 added to the boost open loop %." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", boostOpenLoopBlends1_blendParameter + panel = boostOpenLoopBlend1Bias + + dialog = boostOpenBlend2Cfg, "Boost open loop blend 2 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the open loop boost table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0 added to the boost open loop %." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", boostOpenLoopBlends2_blendParameter + panel = boostOpenLoopBlend2Bias + + dialog = boostClosedBlend1Cfg, "Boost closed loop blend 1 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the closed loop boost table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0 added to the boost closed loop %." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", boostClosedLoopBlends1_blendParameter + panel = boostClosedLoopBlend1Bias + + dialog = boostClosedBlend2Cfg, "Boost closed loop blend 2 config" + field = "#The bias table controls how much of the blend table" + field = "#is mixed in to the closed loop boost table. For example, a value of" + field = "#+10 in the table, with 50 as the current bias will result" + field = "#in +5.0 added to the boost closed loop %." + field = "#The X axis of the bias table is controlled by the selected blend" + field = "#parameter below." + field = "Blend parameter", boostClosedLoopBlends2_blendParameter + panel = boostClosedLoopBlend2Bias + + dialog = dwellSettings, "", yAxis + panel = dwellCorrection + panel = dwellVoltageCorrection + + dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" + field = "Input channel", auxTempSensor1_adcChannel + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + + field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} + field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} + field = "" + field = "Middle temperature", auxTempSensor1_tempC_2, {auxTempSensor1_adcChannel != 0} + field = "Resistance @ MT", auxTempSensor1_resistance_2, {auxTempSensor1_adcChannel != 0} + field = "" + field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} + field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} + + dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" + field = "Input channel", auxTempSensor2_adcChannel + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + + field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} + field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} + field = "" + field = "Middle temperature", auxTempSensor2_tempC_2, {auxTempSensor2_adcChannel != 0} + field = "Resistance @ MT", auxTempSensor2_resistance_2, {auxTempSensor2_adcChannel != 0} + field = "" + field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} + field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + + dialog = tpsNum1, "Throttle Body #1" + field = "Primary sensor", tps1_1AdcChannel + field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} + field = "Primary max", tpsMax, {tps1_1AdcChannel != 0} + field = "Secondary sensor", tps1_2AdcChannel, {tps1_1AdcChannel != 0} + field = "Secondary min", tps1SecondaryMin, {tps1_2AdcChannel != 0 && tps1_1AdcChannel != 0} + field = "Secondary max", tps1SecondaryMax, {tps1_2AdcChannel != 0 && tps1_1AdcChannel != 0} + commandButton = "Auto Calibrate ETB 1", cmd_etb_auto_calibrate, {etb1configured == 1 && tps1_1AdcChannel != 0 && calibrationMode == 0} + + dialog = tpsNum2, "Throttle Body #2" + field = "Primary sensor", tps2_1AdcChannel + field = "Primary min", tps2Min, {tps2_1AdcChannel != 0} + field = "Primary max", tps2Max, {tps2_1AdcChannel != 0} + field = "Secondary sensor", tps2_2AdcChannel, {tps2_1AdcChannel != 0} + field = "Secondary min", tps2SecondaryMin, {tps2_2AdcChannel != 0 && tps2_1AdcChannel != 0} + field = "Secondary max", tps2SecondaryMax, {tps2_2AdcChannel != 0 && tps2_1AdcChannel != 0} + commandButton = "Auto Calibrate ETB 2", cmd_etb_auto_calibrate_2, {etb2configured == 1 && tps2_1AdcChannel != 0 && calibrationMode == 0} + + dialog = tpsLimits, "TPS Limits" + field = "TPS minimum valid value", tpsErrorDetectionTooLow, {tps1_1AdcChannel != 0} + field = "TPS maximum valid value", tpsErrorDetectionTooHigh, {tps1_1AdcChannel != 0} + + dialog = tpsSensorLeft + panel = tpsLimits + panel = tpsNum1 + panel = tpsNum2 + + dialog = pedalSensorLeft, "Accelerator pedal" + field = "Accelerator position sensor", throttlePedalPositionAdcChannel + field = "Up voltage", throttlePedalUpVoltage + commandButton = "Grab Up", cmd_calibrate_pedal_up + field = "Down (WOT) voltage", throttlePedalWOTVoltage + commandButton = "Grab Down", cmd_calibrate_pedal_down + field = "Accelerator position 2nd sensor", throttlePedalPositionSecondAdcChannel + field = "Up voltage", throttlePedalSecondaryUpVoltage + field = "Down (WOT) voltage", throttlePedalSecondaryWOTVoltage + + dialog = pedalGauges + gauge = pedalPositionGauge + gauge = rawPpsPrimaryGauge + gauge = rawPpsSecondaryGauge + + dialog = tpsGauges + gauge = rawTps1PrimaryGauge + gauge = rawTps1SecondaryGauge + gauge = rawTps2PrimaryGauge + gauge = rawTps2SecondaryGauge + + dialog = pedalSensor, "Accelerator pedal", border + panel = pedalSensorLeft, West + panel = pedalGauges, East + + dialog = tpsSensor, "", border + panel = tpsSensorLeft, West + panel = tpsGauges, East + + dialog = wastegatePosConfig, "Wastegate position sensor" + field = "Input", wastegatePositionSensor + field = "Min (fully closed, most boost)", wastegatePositionMin + field = "Max (fully open, least boost)", wastegatePositionMax + + dialog = wastegateIdlePosLeft, "" + panel = wastegatePosConfig + + dialog = wastegateIdlePosGauges, "" + gauge = rawWastegatePositionGauge, West + gauge = wastegatePosGauge, East + + dialog = wastegateIdlePos, "", border + panel = wastegateIdlePosLeft, West + panel = wastegateIdlePosGauges, East + + dialog = mc33Dialog, "Low-Z injector control PT2001" + field = "SPI Chip Select", mc33816_cs + field = "SPI Device", mc33816spiDevice + field = "MC33816 rstb", mc33816_rstb + field = "MC33816 flag0", mc33816_flag0 + + field = "Boost voltage", mc33_hvolt + + field = "Boost current target", mc33_i_boost + field = "Min boost time", mc33_t_min_boost + field = "Max boost time (timeout)", mc33_t_max_boost + + field = "Peak phase current target", mc33_i_peak + field = "Peak phase duration", mc33_t_peak_tot + field = "Peak phase loop off time", mc33_t_peak_off + field = "Peak -> Hold Bypass Time", mc33_t_bypass + + field = "Hold current target", mc33_i_hold + field = "Hold phase loop off time", mc33_t_hold_off + field = "Maximum injection duration", mc33_t_hold_tot + + +; Sensor Inputs + dialog = otherSensorInputs, "Other Sensor Inputs" + field = "Clutch Down", clutchDownPin + field = "Clutch Down inverted", clutchDownPinInverted + field = "Clutch Down mode", clutchDownPinMode + + field = "Clutch Up", clutchUpPin + field = "Clutch Up inverted", clutchUpPinInverted + field = "Clutch Up mode", clutchUpPinMode + field = "Throttle Up switch", throttlePedalUpPin + field = "Brake pedal switch", brakePedalPin + field = "Flex fuel sensor", flexSensorPin + field = "Turbo Speed Sensor", turboSpeedSensorInputPin + field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel + + dialog = fuelLevelDialog, "Fuel Level Sensor" + field = "Input channel", fuelLevelSensor + panel = fuelLevelCurve + +; +; allXXX sections allows a quick overview of used I/O in order to address conflicts mostly, not really to +; configure the features. +; + dialog = allPinsSensors, "Sensors" + field = "Throttle pedal Position Channel", throttlePedalPositionAdcChannel + field = "Throttle pedal Position #2", throttlePedalPositionSecondAdcChannel + field = "Primary input channel", triggerInputPins1 + field = "Secondary channel", triggerInputPins2 + field = "Cam Sync/VVT input", camInputs1 + field = "CLT ADC input", clt_adcChannel + field = "IAT ADC input", iat_adcChannel + field = "vBatt ADC input", vbattAdcChannel + field = "TPS1 ADC input", tps1_1AdcChannel + field = "TPS2 ADC input", tps2_1AdcChannel + field = "MAF ADC input", mafAdcChannel + field = "MAF 2 ADC input", maf2AdcChannel + field = "AFR ADC input", afr_hwChannel + field = "AFR 2 ADC input", afr_hwChannel2 + field = "Baro ADC input", baroSensor_hwChannel + field = "MAP ADC input", map_sensor_hwChannel + field = "Fuel Level input", fuelLevelSensor + field = "Vehicle Speed input", vehicleSpeedSensorInputPin + field = "Clutch Down input", clutchDownPin + field = "Clutch Up input", clutchUpPin + field = "Brake pedal input", brakePedalPin + field = "A/C Switch", acSwitch + field = "Aux Temperature #1", auxTempSensor1_adcChannel + field = "Aux Temperature #2", auxTempSensor2_adcChannel + field = "Aux Fast Analog", auxFastSensor1_adcChannel + + dialog = allTriggerDebug, "Trigger Debug" + field = "trigger 1 debug", triggerInputDebugPins1 + field = "trigger 2 debug", triggerInputDebugPins2 + field = "cam 1 debug", camInputsDebug1 + field = "cam 2 debug", camInputsDebug2 + field = "cam 3 debug", camInputsDebug3 + field = "cam 4 debug", camInputsDebug4 + + dialog = allPinsMC33, "MC33816" + field = "Chip Select", mc33816_cs + field = rstb, mc33816_rstb + field = flag0, mc33816_flag0 + field = mc33816_driven, mc33816_driven + field = mc33816spiDevice, mc33816spiDevice + field = hpfpValcePin, hpfpValvePin + + dialog = allPins1_1 + field = "trigger stimulator output #1", triggerSimulatorPins1 + field = "trigger stimulator output #2", triggerSimulatorPins2 + field = "tle6240_cs", tle6240_cs + field = "tle6240 SPI", tle6240spiDevice + + dialog = allPins1_2 + field = "Tachometer output", tachOutputPin + field = "O2 heater output", o2heaterPin + field = "Idle Solenoid Primary output", idle_solenoidPin + field = "Idle Solenoid Secondary output",secondSolenoidPin + field = "Idle Stepper Dir", idle_stepperDirectionPin + field = "Idle Stepper Step", idle_stepperStepPin + field = "Idle Stepper Enable", stepperEnablePin + field = "Fuel Pump output", fuelPumpPin + field = "SD CS Pin", sdCardCsPin + field = "MIL/Check Engine output", malfunctionIndicatorPin + field = "test557pin", test557pin + field = "Fan Pin", fanPin + field = "A/C Relay", acRelayPin + field = "Main Relay Pin", mainRelayPin + field = "Starter Relay Pin", starterRelayDisablePin + + dialog = allPins2_1 + field = "Injection Output 1", injectionPins1 + field = "Injection Output 2", injectionPins2 + field = "Injection Output 3", injectionPins3 + field = "Injection Output 4", injectionPins4 + field = "Injection Output 5 ", injectionPins5 + field = "Injection Output 6 ", injectionPins6 + field = "Injection Output 7 ", injectionPins7 + field = "Injection Output 8 ", injectionPins8 + field = "Injection Output 9 ", injectionPins9 + field = "Injection Output 10 ", injectionPins10 + field = "Injection Output 11 ", injectionPins11 + field = "Injection Output 12 ", injectionPins12 + field = auxSpeedSensorInputPin1, auxSpeedSensorInputPin1 + field = auxSpeedSensorInputPin2, auxSpeedSensorInputPin2 + + + dialog = allPins2_2 + field = "Ignition Output 1", ignitionPins1 + field = "Ignition Output 2", ignitionPins2 + field = "Ignition Output 3", ignitionPins3 + field = "Ignition Output 4", ignitionPins4 + field = "Ignition Output 5", ignitionPins5 + field = "Ignition Output 6", ignitionPins6 + field = "Ignition Output 7", ignitionPins7 + field = "Ignition Output 8", ignitionPins8 + field = "Ignition Output 9", ignitionPins9 + field = "Ignition Output 10", ignitionPins10 + field = "Ignition Output 11", ignitionPins11 + field = "Ignition Output 12", ignitionPins12 + + dialog = allPins2_3 + field = "Debug Trigger Sync", debugTriggerSync + panel = allTriggerDebug + panel = allPinsMC33 + + dialog = allPins1_3 + field = "Aux ADC #1", auxAnalogInputs1 + field = "Aux ADC #2", auxAnalogInputs2 + field = "Aux ADC #3", auxAnalogInputs3 + field = "Aux ADC #4", auxAnalogInputs4 + field = "Aux ADC #5", auxAnalogInputs5 + field = "Aux ADC #6", auxAnalogInputs6 + field = "Aux ADC #7", auxAnalogInputs7 + field = "Aux ADC #8", auxAnalogInputs8 + field = "CAN RX pin", canRxPin + field = "CAN TX pin", canTxPin + field = "SPI1 MOSI", spi1mosiPin, { spi1mosiPin != 0 || is_enabled_spi_1 == 1} + field = "SPI1 MISO", spi1misoPin, { spi1misoPin != 0 || is_enabled_spi_1 == 1} + field = "SPI1 SCK", spi1sckPin, {is_enabled_spi_1 == 1} + field = "SPI2 MOSI", spi2mosiPin, {is_enabled_spi_2 == 1} + field = "SPI2 MISO", spi2misoPin, {is_enabled_spi_2 == 1} + field = "SPI2 SCK", spi2sckPin, {is_enabled_spi_2 == 1} + field = "SPI3 MOSI", spi3mosiPin, {is_enabled_spi_3 == 1} + field = "SPI3 MISO", spi3misoPin, {is_enabled_spi_3 == 1} + field = "SPI3 SCK", spi3sckPin, {is_enabled_spi_3 == 1} + field = "LIS302DLCsPin", LIS302DLCsPin + field = "DRV8860 CS", drv8860_cs + field = "DRV8860 CS Mode", drv8860_csPinMode + field = "DRV8860 MISO pin", drv8860_miso + field = "DRV8860 SPI", drv8860spiDevice + + dialog = allPins3_1 + panel = allPinsSensors + + dialog = allPins3_2 + field = "VVT solenoid bank 1 intake", vvtPins1 + field = "VVT solenoid bank 1 exhaust", vvtPins2 + field = "VVT solenoid bank 2 intake", vvtPins3 + field = "VVT solenoid bank 2 exhaust", vvtPins4 + field = "Aux Valve #1", auxValves1 + field = "Aux Valve #2", auxValves2 + field = "TLE8888 Chip Select", tle8888_cs + field = "TLE 8888 spi", tle8888spiDevice + field = "L9779 Chip Select", l9779_cs + field = "AUX Serial TX", auxSerialTxPin + field = "AUX Serial RX", auxSerialRxPin + field = "Start/Stop Button", startStopButtonPin + field = "Upshift Pin", tcuUpshiftButtonPin + field = "Downshift Pin", tcuDownshiftButtonPin + + dialog = allPins3_1_and_2, "All IO 3/3", xAxis + panel = allPins3_1 + panel = allPins3_2 + + dialog = allPins1_1_and_2, "", xAxis + panel = allPins1_1 + panel = allPins1_2 + + dialog = allPins1, "All IO 1/3", xAxis + panel = allPins1_1_and_2 + panel = allPins1_3 + + dialog = allPins2_1_and_2, "", xAxis + panel = allPins2_1 + panel = allPins2_2 + + dialog = allPins2, "All IO 2/3", xAxis + panel = allPins2_1_and_2 + panel = allPins2_3 + + dialog = clt_thermistor, "CLT sensor" + field = "Input channel", clt_adcChannel + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} + + settingSelector = "Common CLT Sensors" + settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 + settingOption = "Miata NA", clt_tempC_1=-20,clt_resistance_1=16150,clt_tempC_2=40,clt_resistance_2=1150,clt_tempC_3=80,clt_resistance_3=330,useLinearCltSensor=0 + settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 + settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 + + field = "" + field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} + field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} + field = "" + field = "Middle temperature", clt_tempC_2, {clt_adcChannel != 0} + field = "Resistance @ MT", clt_resistance_2, {clt_adcChannel != 0} + field = "" + field = "Highest temperature", clt_tempC_3, {clt_adcChannel != 0} + field = "Resistance @ HT", clt_resistance_3, {clt_adcChannel != 0} + field = "" + field = "Linear characteristic", useLinearCltSensor, {clt_adcChannel != 0} + + dialog = cltGauges + gauge = CLTGauge + gauge = rawCltGauge + + dialog = cltSensor, "CLT Sensor", border + panel = clt_thermistor, West + panel = cltGauges, East + + dialog = iat_thermistor, "IAT sensor" + field = "Input channel", iat_adcChannel + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} + + settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} + settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 + settingOption = "Miata NA/NB", iat_tempC_1=-20,iat_resistance_1=16150,iat_tempC_2=40,iat_resistance_2=1150,iat_tempC_3=80,iat_resistance_3=330,useLinearIatSensor=0 + settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 + settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 + + field = "" + field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} + field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} + field = "" + field = "Middle temperature", iat_tempC_2, {iat_adcChannel != 0} + field = "Resistance @ MT", iat_resistance_2, {iat_adcChannel != 0} + field = "" + field = "Highest temperature", iat_tempC_3, {iat_adcChannel != 0} + field = "Resistance @ HT", iat_resistance_3, {iat_adcChannel != 0} + field = "" + field = "Linear characteristic", useLinearIatSensor, {iat_adcChannel != 0} + + dialog = iatGauges + gauge = IATGauge + gauge = rawIatGauge + + dialog = iatSensor, "IAT Sensor", border + panel = iat_thermistor, West + panel = iatGauges, East + + dialog = oilp_settings, "Oil Pressure Sensor" + field = "Oil Pressure ADC input", oilPressure_hwChannel + field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} + field = "low pressure", oilPressure_value1, {oilPressure_hwChannel != 0} + field = "high voltage", oilPressure_v2, {oilPressure_hwChannel != 0} + field = "high pressure", oilPressure_value2, {oilPressure_hwChannel != 0} + + dialog = oilPressureGauges + gauge = OilPressGauge + gauge = rawOilPressureGauge + + dialog = oilPressureSensor, "", border + panel = oilp_settings, West + panel = oilPressureGauges, East + + dialog = fuelp_settings, "Fuel Pressure Sensor" + field = "Fuel low pressure ADC input", lowPressureFuel_hwChannel + field = "low voltage", lowPressureFuel_v1, {lowPressureFuel_hwChannel != 0} + field = "low pressure", lowPressureFuel_value1, {lowPressureFuel_hwChannel != 0} + field = "high voltage", lowPressureFuel_v2, {lowPressureFuel_hwChannel != 0} + field = "high pressure", lowPressureFuel_value2, {lowPressureFuel_hwChannel != 0} + field = "sensor type", fuelPressureSensorMode, {lowPressureFuel_hwChannel != 0} + + field = "Fuel high pressure ADC input", highPressureFuel_hwChannel + field = "low voltage", highPressureFuel_v1, {highPressureFuel_hwChannel != 0} + field = "low pressure", highPressureFuel_value1, {highPressureFuel_hwChannel != 0} + field = "high voltage", highPressureFuel_v2, {highPressureFuel_hwChannel != 0} + field = "high pressure", highPressureFuel_value2, {highPressureFuel_hwChannel != 0} + + dialog = fuelPressureGauges + gauge = lowFuelPressureGauge + gauge = rawLowFuelPressureGauge + gauge = highFuelPressureGauge + gauge = rawHighFuelPressureGauge + + dialog = fuelPressureSensor, "", border + panel = fuelp_settings, West + panel = fuelPressureGauges, East + + dialog = auxLinearSensor1, "Aux Linear Sensor #1" + field = "ADC input", auxLinear1_hwChannel + field = "Low voltage", auxLinear1_v1, {auxLinear1_hwChannel != 0} + field = "Low value", auxLinear1_value1, {auxLinear1_hwChannel != 0} + field = "High voltage", auxLinear1_v2, {auxLinear1_hwChannel != 0} + field = "High value", auxLinear1_value2, {auxLinear1_hwChannel != 0} + + dialog = auxLinearSensor2, "Aux Linear Sensor #2" + field = "ADC input", auxLinear2_hwChannel + field = "Low voltage", auxLinear2_v1, {auxLinear2_hwChannel != 0} + field = "Low value", auxLinear2_value1, {auxLinear2_hwChannel != 0} + field = "High voltage", auxLinear2_v2, {auxLinear2_hwChannel != 0} + field = "High value", auxLinear2_value2, {auxLinear2_hwChannel != 0} + + dialog = auxLinearSensors + panel = auxLinearSensor1 + panel = auxLinearSensor2 + field = auxSpeedSensorInputPin1, auxSpeedSensorInputPin1 + field = auxSpeedSensorInputPin2, auxSpeedSensorInputPin2 + +; Sensors->MAP sensor + dialog = mapSensorAnalog, "MAP sensor", yAxis + field = "MAP ADC input", map_sensor_hwChannel + field = "MAP type", map_sensor_type, { map_sensor_hwChannel != 0 } + field = "MAP value low point", map_sensor_lowValue, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } + field = "MAP voltage low point", mapLowValueVoltage, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } + field = "MAP value high point", map_sensor_highValue, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } + field = "MAP voltage high value", mapHighValueVoltage, { map_sensor_hwChannel != 0 && map_sensor_type == 0 } + + dialog = mapCommon, "MAP common settings" + field = "Low value threshold", mapErrorDetectionTooLow + field = "High value threshold", mapErrorDetectionTooHigh + field = "" + field = "Measure Map Only In One Cylinder", measureMapOnlyInOneCylinder + field = "Cylinder count to sample MAP", mapMinBufferLength + + dialog = mapSettings, "", yAxis + panel = mapCommon + panel = mapSensorAnalog + + dialog = baroSettings, "Baro sensor" + field = "Baro ADC input", baroSensor_hwChannel + field = "Low Value", baroSensor_lowValue, {baroSensor_hwChannel != 0 || lps25BaroSensorScl != 0 } + field = "High Value", baroSensor_highValue, {baroSensor_hwChannel != 0 || lps25BaroSensorScl != 0 } + field = "Type", baroSensor_type, {baroSensor_hwChannel != 0 || lps25BaroSensorScl != 0 } + field = "LPS2x Baro SCL", lps25BaroSensorScl, { baroSensor_hwChannel == 0} + field = "LPS2x Baro SDA", lps25BaroSensorSda, { baroSensor_hwChannel == 0} + field = "Use fixed baro corr from MAP", useFixedBaroCorrFromMap + + dialog = mapCurves, "MAP sampling", yAxis + field = "isMapAveragingEnabled", isMapAveragingEnabled + panel = map_samplingAngleCurve + panel = map_samplingWindowCurve + + dialog = mafSettings, "MAF sensor", yAxis + field = "MAF ADC input", mafAdcChannel + field = "MAF 2 ADC input", maf2AdcChannel + + dialog = egoSettings_sensor, "EGO sensor" + settingSelector = "Common O2 Controllers" + settingOption = "BSPX", afr_v1=0,afr_v2=5,afr_value1=9,afr_value2=19,egoValueShift=0 + settingOption = "Innovate", afr_v1=0,afr_v2=5,afr_value1=7.35,afr_value2=22.39,egoValueShift=0 + settingOption = "14Point7", afr_v1=0,afr_v2=5,afr_value1=9.996,afr_value2=19.992,egoValueShift=0 + settingOption = "PLX", afr_v1=0,afr_v2=5,afr_value1=10,afr_value2=20,egoValueShift=0 + + field = "Low voltage", afr_v1 + field = "Low AFR", afr_value1 + field = "High voltage", afr_v2 + field = "High AFR", afr_value2 + field = "Correction", egoValueShift + + dialog = egoSettings_IO1, "EGO Sensor 1 I/O" + field = "Input channel", afr_hwChannel + field = "Heater output", o2heaterPin + + dialog = egoSettings_IO2, "EGO Sensor 2 I/O" + field = "Input channel", afr_hwChannel2 + + dialog = egoSettings, "", yAxis + field = "Enable CAN Wideband", enableAemXSeries, { canReadEnabled } + field = "Enable Innovate LC-2 Serial", enableInnovateLC2, { auxSerialRxPin && auxSerialTxPin } + panel = egoSettings_IO1 + panel = egoSettings_IO2, {afr_hwChannel != 0 && enableAemXSeries == 0 && !auxSerialRxPin && !auxSerialTxPin} + panel = egoSettings_sensor, {afr_hwChannel != 0 && enableAemXSeries == 0 && !auxSerialRxPin && !auxSerialTxPin} + +; Engine->EGT inputs + dialog = egtInputs, "EGT inputs" + field = "SPI", max31855spiDevice + field = "CS #1", max31855_cs1 + field = "CS #2", max31855_cs2 + field = "CS #3", max31855_cs3 + field = "CS #4", max31855_cs4 + field = "CS #5", max31855_cs5 + field = "CS #6", max31855_cs6 + field = "CS #7", max31855_cs7 + field = "CS #8", max31855_cs8 + +; Engine->idle Settings + dialog = idleSolenoid, "Solenoid" + field = "Idle Solenoid Primary output", idle_solenoidPin, { idle_solenoidPin != 0 || !useStepperIdle } + field = "Idle Solenoid Secondary output", secondSolenoidPin, { idle_solenoidPin != 0 || (!useStepperIdle && isDoubleSolenoidIdle ) } + field = "Idle Solenoid output(s) Mode", idle_solenoidPinMode, !useStepperIdle + field = "Idle Solenoid Frequency", idle_solenoidFrequency, !useStepperIdle + + dialog = etbHbridgeHardwareNo1, "H-Bridge Hardware No1" + field = "No1 Direction #1", etbIo1_directionPin1 + field = "No1 Direction #2", etbIo1_directionPin2 + field = "No1 Control", etbIo1_controlPin + field = "No1 Disable", etbIo1_disablePin + + dialog = etbHbridgeHardwareNo2, "H-Bridge Hardware No2" + field = "No2 Direction #1", etbIo2_directionPin1 + field = "No2 Direction #2", etbIo2_directionPin2 + field = "No2 Control", etbIo2_controlPin + field = "No2 Disable", etbIo2_disablePin + + dialog = etbHbridgeHardware, "ETB H-Bridge Hardware" + field = "Two-wire mode", etb_use_two_wires + panel = etbHbridgeHardwareNo1, { etbFunctions1 != 0 } + panel = etbHbridgeHardwareNo2, { etbFunctions2 != 0 } + + dialog = stepperHbridgeHardwareNo1, "H-Bridge Hardware No1" + field = "No1 Direction #1", stepperDcIo1_directionPin1 + field = "No1 Direction #2", stepperDcIo1_directionPin2 + field = "No1 Disable", stepperDcIo1_disablePin + + dialog = stepperHbridgeHardwareNo2, "H-Bridge Hardware No2" + field = "No2 Direction #1", stepperDcIo2_directionPin1 + field = "No2 Direction #2", stepperDcIo2_directionPin2 + field = "No2 Disable", stepperDcIo2_disablePin + + dialog = stepperHbridgeHardware, "Stepper H-Bridge Hardware" + topicHelp = "stepperHbridgeHardwareHelp" + field = "Inverted driver pins", stepperDcInvertedPins + panel = stepperHbridgeHardwareNo1, { etbFunctions1 != 0 } + panel = stepperHbridgeHardwareNo2, { etbFunctions2 != 0 } + + dialog = idleStepperHw, "Stepper Controller Hardware" + topicHelp = "idleStepperHwHelp" + field = "Idle Stepper Step Pin", idle_stepperStepPin + field = "Idle Stepper Dir Pin", idle_stepperDirectionPin + field = "Idle Stepper Dir Pin Mode", stepperDirectionPinMode + field = "Idle Stepper Enable Pin", stepperEnablePin + field = "Idle Stepper Enable Pin Mode", stepperEnablePinMode + + dialog = stepperDirectDriveHardware, "Stepper Direct-Drive Hardware" + topicHelp = "stepperDirectDriveHardwareHelp" + field = "Stepper A+", stepper_raw_output1 + field = "Stepper A-", stepper_raw_output2 + field = "Stepper B+", stepper_raw_output3 + field = "Stepper B-", stepper_raw_output4 + + dialog = idleStepperHwType, "" + panel = idleStepperHw, { useStepperIdle && !useHbridgesToDriveIdleStepper && !useRawOutputToDriveIdleStepper } + panel = stepperHbridgeHardware, { useStepperIdle && useHbridgesToDriveIdleStepper && !useRawOutputToDriveIdleStepper } + panel = stepperDirectDriveHardware, { useStepperIdle && !useHbridgesToDriveIdleStepper && useRawOutputToDriveIdleStepper } + + dialog = idleStepperGeneral, "" + field = "Drive stepper with dual H bridges", useHbridgesToDriveIdleStepper, useStepperIdle + field = "Drive stepper with PushPull outputs", useRawOutputToDriveIdleStepper, { useStepperIdle && !useHbridgesToDriveIdleStepper } + field = "Stepper reaction time", idleStepperReactionTime, useStepperIdle + field = "Stepper total steps", idleStepperTotalSteps, useStepperIdle + field = "Stepper parking extra steps, %", stepperParkingExtraSteps, useStepperIdle + field = "Force parking every restart", stepperForceParkingEveryRestart, useStepperIdle + + dialog = idleStepperMicro, "Micro-Stepping" + field = "Stepping Mode", stepperNumMicroSteps, useHbridgesToDriveIdleStepper + field = "Min. Duty Cycle", stepperMinDutyCycle, { useHbridgesToDriveIdleStepper && stepperNumMicroSteps > 1 } + field = "Max. Duty Cycle", stepperMaxDutyCycle, { useHbridgesToDriveIdleStepper && stepperNumMicroSteps > 1 } + + dialog = idleStepper, "Stepper" + panel = idleStepperGeneral + panel = idleStepperHwType + panel = idleStepperMicro + + dialog = idleHwType, "Idle Valve Hardware", yAxis + panel = idleSolenoid + panel = idleStepper + + dialog = idlehw, "", yAxis + field = "!ECU reboot needed to apply these settings" + field = "Use Stepper", useStepperIdle + field = "Double Solenoid Mode", isDoubleSolenoidIdle + field = "Electronic throttle idle range", etbIdleThrottleRange + panel = idleHwType + + dialog = idlePidSettings, "Closed Loop Idle" + field = "P-factor", idleRpmPid_pFactor + field = "I-factor", idleRpmPid_iFactor + field = "derivativeFilterLoss", idle_derivativeFilterLoss + field = "antiwindupFreq", idle_antiwindupFreq + field = "D-factor", idleRpmPid_dFactor + field = "Min", idleRpmPid_minValue + field = "Max", idleRpmPid_maxValue + field = "iTerm Min", idlerpmpid_iTermMin + field = "iTerm Max", idlerpmpid_iTermMax + field = "PID Extra for low RPM", pidExtraForLowRpm + field = "Use IAC PID Multiplier Table", useIacPidMultTable + + dialog = idleOpenLoop, "Open Loop Idle" + slider = "Open loop base position", manIdlePosition, horizontal + field = "A/C adder", acIdleExtraOffset + field = "A/C target adder", acIdleRpmBump + field = "Fan #1 adder", fan1ExtraIdle + field = "Fan #2 adder", fan2ExtraIdle + field = "Extra idle air if throttle pressed", iacByTpsTaper + + dialog = idleGating, "Idle Detection Thresholds" + field = "TPS threshold", idlePidDeactivationTpsThreshold + field = "RPM upper limit", idlePidRpmUpperLimit + field = "RPM deadzone", idlePidRpmDeadZone + field = "Max vehicle speed", maxIdleVss + + dialog = idleExtra, "Extra Idle Features" + field = "Use idle ignition table", useSeparateAdvanceForIdle + field = "Use idle VE table", useSeparateVeForIdle + field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } + field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper + field = "Use coasting idle table", useIacTableForCoasting + + dialog = idleSettings, "", yAxis + field = "Idle control mode", idleMode + + field = "! Solenoid idle control is disabled at zero RPM" + +; gating applies both to open loop and closed loop! + panel = idleGating +; closed loop mode is an addition on top of open loop, so idleOpenLoop stays open even when closed loop is selected + panel = idleOpenLoop + panel = idlePidSettings, { idleMode == 0 } + panel = idleExtra + + dialog = idleTimingPidCorrDialog, "", yAxis + field = "" + field = "Enable closed loop idle ignition timing", useIdleTimingPidControl + field = "" + field = "#Gain is in degrees advance per rpm away from target" + field = "#A good starting point is 0.1 = 10 deg per 100 rpm" + field = "Proportional gain", idleTimingPid_pFactor, {useIdleTimingPidControl == 1} + field = "Derivative gain", idleTimingPid_dFactor, {useIdleTimingPidControl == 1} + field = "" + field = "Min adjustment (retard)", idleTimingPid_minValue, {useIdleTimingPidControl == 1} + field = "Max adjustment (advance)", idleTimingPid_maxValue, {useIdleTimingPidControl == 1} + field = "" + field = "#Use debug mode 'Timing' to view idle timing adjustment" + +; Engine->Fan Settings + dialog = fan1Settings, "Fan 1" + field = "Output", fanPin + field = "Output mode", fanPinMode + field = "On temperature", fanOnTemperature + field = "Off temperature", fanOffTemperature + field = "Enable with AC", enableFan1WithAc + field = "Disable when engine stopped", disableFan1WhenStopped + field = "Idle adder", fan1ExtraIdle + + dialog = fan2Settings, "Fan 2" + field = "Output", fan2Pin + field = "Output mode", fan2PinMode + field = "On temperature", fan2OnTemperature + field = "Off temperature", fan2OffTemperature + field = "Enable with AC", enableFan2WithAc + field = "Disable when engine stopped", disableFan2WhenStopped + field = "Idle adder", fan2ExtraIdle + + dialog = fanTest, "", xAxis + commandButton = "Test Fan 1", cmd_test_fan_1 + commandButton = "Test Fan 2", cmd_test_fan_2 + + indicatorPanel = fanIndicators, 2 + indicator = { isFanOn }, "fan 1 off", "fan 1 on", white, black, green, black + indicator = { isFan2On }, "fan 2 off", "fan 2 on", white, black, green, black + + dialog = acSettingsWest, "A/C Settings" + field = "A/C switch", acSwitch + field = "A/C switch mode", acSwitchMode + field = "A/C Relay", acRelayPin + field = "A/C Relay Mode", acRelayPinMode + field = "A/C compressor delay", acDelay + field = "Max RPM", maxAcRpm + field = "Max CLT", maxAcClt + field = "Max TPS", maxAcTps + field = "A/C Idle adder", acIdleExtraOffset + field = "A/C RPM adder", acIdleRpmBump + + dialog = acSettings, "", border + panel = acSettingsWest, West + panel = ac_controlIndicatorPanel, East + + dialog = fanSetting, "Fan Settings" + panel = fan1Settings + panel = fan2Settings + panel = fanTest + panel = fanIndicators + + dialog = fuelPumpDialog, "Fuel Pump" + field = "Output", fuelPumpPin + field = "Output mode", fuelPumpPinMode + field = "Prime duration", startUpFuelPumpDuration + +; Controller->Actuator Outputs + dialog = mainRelayDialog, "Main relay output" + field = "Output", mainRelayPin + field = "Output mode", mainRelayPinMode + + dialog = starterRelayDialog, "Starter Disable" + field = "Output", starterRelayDisablePin + field = "Output mode", starterRelayDisablePinMode + + dialog = startStopDialog, "Starter Control" + field = "Start/Stop Button input", startStopButtonPin + field = "Start/Stop Button input mode", startStopButtonMode + field = "Starter Control", starterControlPin, { starterControlPin != 0 || startStopButtonPin != 0} + field = "Start cranking maximum time", startCrankingDuration, {startStopButtonPin != 0} + +; Engine->MIL Settings + dialog = malfunctionDialog, "Check Engine Settings" + field = "Output", malfunctionIndicatorPin + field = "Output mode", malfunctionIndicatorPinMode + field = "Warning Period", warningPeriod + + dialog = tachSettings, "Tachometer output" + field = "Output", tachOutputPin + field = "Output mode", tachOutputPinMode + field = "Pulse Mode", tachPulseDurationAsDutyCycle + field = "Pulse duration", tachPulseDuractionMs + field = "Pulse per Rev", tachPulsePerRev + + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + + dialog = outputsDialogLeft + panel = mainRelayDialog + panel = fuelPumpDialog + panel = tachSettings + panel = speedoSettings + panel = startStopDialog + panel = starterRelayDialog + panel = malfunctionDialog + + dialog = outputsDialog, "Outputs", border + panel = outputsDialogLeft, West + panel = fanSetting, Center + + dialog = softwareKnockCfg, "Sense" + field = "Enable", enableSoftwareKnock + field = "Cylinder Bore", cylinderBore + field = "Knock filter frequency", knockBandCustom, {enableSoftwareKnock} + field = "knockDetectionWindowStart",knockDetectionWindowStart, {enableSoftwareKnock} + field = "knockSamplingDuration", knockSamplingDuration, {enableSoftwareKnock} + + field = "" + field = "Select the nearest sensor for each cylinder" + field = "Cylinder 1", knockBankCyl1, {enableSoftwareKnock} + field = "Cylinder 2", knockBankCyl2, {enableSoftwareKnock && cylindersCount >= 2} + field = "Cylinder 3", knockBankCyl3, {enableSoftwareKnock && cylindersCount >= 3} + field = "Cylinder 4", knockBankCyl4, {enableSoftwareKnock && cylindersCount >= 4} + field = "Cylinder 5", knockBankCyl5, {enableSoftwareKnock && cylindersCount >= 5} + field = "Cylinder 6", knockBankCyl6, {enableSoftwareKnock && cylindersCount >= 6} + field = "Cylinder 7", knockBankCyl7, {enableSoftwareKnock && cylindersCount >= 7} + field = "Cylinder 8", knockBankCyl8, {enableSoftwareKnock && cylindersCount >= 8} + field = "Cylinder 9", knockBankCyl9, {enableSoftwareKnock && cylindersCount >= 9} + field = "Cylinder 10", knockBankCyl10, {enableSoftwareKnock && cylindersCount >= 10} + field = "Cylinder 11", knockBankCyl11, {enableSoftwareKnock && cylindersCount >= 11} + field = "Cylinder 12", knockBankCyl12, {enableSoftwareKnock && cylindersCount >= 12} + + dialog = softwareKnockResponseCfg, "Response" + field = knockRetardAggression, knockRetardAggression + field = knockRetardReapplyRate, knockRetardReapplyRate + + dialog = softwareKnockLeft, "" + panel = softwareKnockCfg + panel = softwareKnockResponseCfg + + dialog = softwareKnock, "Software Knock", border + panel = softwareKnockLeft, West + panel = knockThresholdCurve, Center + + dialog = spiFunction, "SPI settings" + field = "!ECU reboot needed to apply these settings" + field = "SPI1 enable", is_enabled_spi_1 + field = "SPI1 MOSI", spi1mosiPin, {is_enabled_spi_1 == 1} + field = "SPI1mosi mode", spi1MosiMode, {is_enabled_spi_1 == 1} + field = "SPI1 MISO", spi1misoPin, {is_enabled_spi_1 == 1} + field = "SPI1miso mode", spi1MisoMode, {is_enabled_spi_1 == 1} + field = "SPI1 SCK", spi1sckPin, {is_enabled_spi_1 == 1} + field = "SPI1sck mode", spi1SckMode, {is_enabled_spi_1 == 1} + + field = "SPI2 enable", is_enabled_spi_2 + field = "SPI2 MOSI", spi2mosiPin, {is_enabled_spi_2 == 1} + field = "SPI2mosi mode", spi2MosiMode, {is_enabled_spi_2 == 1} + field = "SPI2 MISO", spi2misoPin, {is_enabled_spi_2 == 1} + field = "SPI2miso mode", spi2MisoMode, {is_enabled_spi_2 == 1} + field = "SPI2 SCK", spi2sckPin, {is_enabled_spi_2 == 1} + field = "SPI2sck mode", spi2SckMode, {is_enabled_spi_2 == 1} + + field = "SPI3 enable", is_enabled_spi_3 + field = "SPI3 MOSI", spi3mosiPin, {is_enabled_spi_3 == 1} + field = "SPI3mosi mode", spi3MosiMode, {is_enabled_spi_3 == 1} + field = "SPI3 MISO", spi3misoPin, {is_enabled_spi_3 == 1} + field = "SPI3miso mode", spi3MisoMode, {is_enabled_spi_3 == 1} + field = "SPI3 SCK", spi3sckPin, {is_enabled_spi_3 == 1} + field = "SPI3sck mode", spi3SckMode, {is_enabled_spi_3 == 1} + field = "LIS302DLCsPin", LIS302DLCsPin + + dialog = stftPartitioning, "Region Configuration" + field = "Idle region RPM", stft_maxIdleRegionRpm + field = "Overrun region load", stft_maxOverrunLoad + field = "Power region load", stft_minPowerLoad + + dialog = stftPartitionSettingsMain, "Main Region", xAxis + field = "Time const", stft_cellCfgs4_timeConstant + field = "Max add", stft_cellCfgs4_maxAdd + field = "Max remove", stft_cellCfgs4_maxRemove + + dialog = stftPartitionSettingsIdle, "Idle Region", xAxis + field = "Time const", stft_cellCfgs1_timeConstant + field = "Max add", stft_cellCfgs1_maxAdd + field = "Max remove", stft_cellCfgs1_maxRemove + + dialog = stftPartitionSettingsPower, "Power Region", xAxis + field = "Time const", stft_cellCfgs3_timeConstant + field = "Max add", stft_cellCfgs3_maxAdd + field = "Max remove", stft_cellCfgs3_maxRemove + + dialog = stftPartitionSettingsOverrun, "Overrun Region", xAxis + field = "Time const", stft_cellCfgs2_timeConstant + field = "Max add", stft_cellCfgs2_maxAdd + field = "Max remove", stft_cellCfgs2_maxRemove + + dialog = fuelClosedLoopDialog, "Closed loop fuel correction" + field = "Enabled", fuelClosedLoopCorrectionEnabled + + field = "Startup delay" stft_startupDelay, {fuelClosedLoopCorrectionEnabled == 1} + field = "Minimum CLT for correction", stft_minClt, {fuelClosedLoopCorrectionEnabled == 1} + field = "Minimum AFR for correction", stft_minAfr, {fuelClosedLoopCorrectionEnabled == 1} + field = "Maximum AFR for correction", stft_maxAfr, {fuelClosedLoopCorrectionEnabled == 1} + field = "Adjustment deadband", stft_deadband, {fuelClosedLoopCorrectionEnabled == 1} + field = "Ignore error magnitude", stftIgnoreErrorMagnitude, {fuelClosedLoopCorrectionEnabled == 1} + + panel = stftPartitioning, {fuelClosedLoopCorrectionEnabled == 1} + panel = stftPartitionSettingsMain, {fuelClosedLoopCorrectionEnabled == 1} + panel = stftPartitionSettingsIdle, {fuelClosedLoopCorrectionEnabled == 1} + panel = stftPartitionSettingsPower, {fuelClosedLoopCorrectionEnabled == 1} + panel = stftPartitionSettingsOverrun, {fuelClosedLoopCorrectionEnabled == 1} + + dialog = lambdaProtectionLeft, "" + field = "Enable lambda protection", lambdaProtectionEnable + field = "Check above load", lambdaProtectionMinLoad, { lambdaProtectionEnable } + field = "and above TPS", lambdaProtectionMinTps, { lambdaProtectionEnable } + field = "and above RPM", lambdaProtectionMinRpm, { lambdaProtectionEnable } + field = "and after delay", lambdaProtectionTimeout { lambdaProtectionEnable } + field = "Then cut fuel until:" + field = "Load less than", lambdaProtectionRestoreLoad, { lambdaProtectionEnable } + field = "and TPS less than", lambdaProtectionRestoreTps, { lambdaProtectionEnable } + field = "and RPM less than", lambdaProtectionRestoreRpm, { lambdaProtectionEnable } + + dialog = lambdaProtectionRight, "Lambda Difference Table" + panel = lambdaMaxDeviationTableTbl + + dialog = lambdaProtection, "Lambda Protection", border + panel = lambdaProtectionLeft, West + panel = lambdaProtectionRight, East + + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + + dialog = vvtPidDialog0, "Configuration" + field = "Activation Delay", vvtActivationDelayMs + field = "Do not control below RPM", vvtControlMinRpm + field = "VVT solenoid bank 1 intake", vvtPins1 + field = "VVT solenoid bank 1 exhaust", vvtPins2 + field = "VVT solenoid bank 2 intake", vvtPins3 + field = "VVT solenoid bank 2 exhaust", vvtPins4 + field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} + field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } + field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping + + dialog = vvtPidDialog1, "Intake PID" + field = "offset", auxPid1_offset, {vvtPins1 != 0} + field = "P factor", auxPid1_pFactor, {vvtPins1 != 0} + field = "I factor", auxPid1_iFactor, {vvtPins1 != 0} + field = "D factor", auxPid1_dFactor, {vvtPins1 != 0} + field = "Min", auxPid1_minValue, {vvtPins1 != 0} + field = "Max", auxPid1_maxValue, {vvtPins1 != 0} + + dialog = vvtPidDialog2, "Exhaust PID" + field = "offset", auxPid2_offset, {vvtPins2 != 0} + field = "P factor", auxPid2_pFactor, {vvtPins2 != 0} + field = "I factor", auxPid2_iFactor, {vvtPins2 != 0} + field = "D factor", auxPid2_dFactor, {vvtPins2 != 0} + field = "Min", auxPid2_minValue, {vvtPins2 != 0} + field = "Max", auxPid2_maxValue, {vvtPins2 != 0} + + dialog = vvtPidDialog, "VVT Configuration & PID", border + panel = vvtPidDialog0, West + panel = vvtPidDialog1, Center + panel = vvtPidDialog2, East + +; Engine->Battery & Alternator + dialog = batteryDialog, "Battery Settings", yAxis + field = "vBatt ADC input", vbattAdcChannel + field = "Battery Input Divider Coefficient", vbattDividerCoeff + dialog = alternator, "Alternator Settings", yAxis + field = "Enabled", isAlternatorControlEnabled + field = "Target", targetVBatt, {isAlternatorControlEnabled == 1} + field = "Control output", alternatorControlPin, {isAlternatorControlEnabled == 1} + field = "Control outpur mode", alternatorControlPinMode, {isAlternatorControlEnabled == 1} + field = "PWM frequency", alternatorPwmFrequency, {isAlternatorControlEnabled == 1} + field = "Off Above TPS", alternatorOffAboveTps, {isAlternatorControlEnabled == 1} + field = "A/C duty adder", acRelayAlternatorDutyAdder, {isAlternatorControlEnabled == 1} + field = "Detailed status in console", isVerboseAlternator, {isAlternatorControlEnabled == 1} + field = "#PID control" + field = "offset", alternatorControl_offset, {isAlternatorControlEnabled == 1} + field = "P factor", alternatorControl_pFactor, {isAlternatorControlEnabled == 1} + field = "I factor", alternatorControl_iFactor, {isAlternatorControlEnabled == 1} + field = "D factor", alternatorControl_dFactor, {isAlternatorControlEnabled == 1} + field = "Min", alternatorControl_minValue, {isAlternatorControlEnabled == 1} + field = "Max", alternatorControl_maxValue, {isAlternatorControlEnabled == 1} + field = "#% duty = Pterm + Iterm + Dterm + offset%" + + dialog = energySystems, "Battery and Alternator Settings", yAxis + panel = batteryDialog + panel = alternator + + dialog = speedSensorAnalog, "Speed sensor" + field = "Input", vehicleSpeedSensorInputPin + field = "Filter parameter", vssFilterReciprocal, { vehicleSpeedSensorInputPin != 0 } + +; +; We prefer quantities that users can actually measure or inspect without math, so we have +; two separate natural settings here without one 'sensor tooth to wheel revolution' ratio +; + field = "Wheel revolutions per kilometer", driveWheelRevPerKm + field = "Speed sensor gear ratio", vssGearRatio, { vehicleSpeedSensorInputPin != 0 } + field = "Speed sensor tooth count", vssToothCount, { vehicleSpeedSensorInputPin != 0 } + + dialog = speedSensorCan, "CAN Vehicle Speed" + field = "Enable CAN VSS", enableCanVss, { canReadEnabled } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } + + dialog = speedSensorLeft, "", yAxis + panel = speedSensorAnalog, { enableCanVss == 0 } + panel = speedSensorCan + + dialog = gearDetection, "Gear Detection" + field = "Wheel revolutions per kilometer", driveWheelRevPerKm + field = "Final drive ratio", finalGearRatio + field = "" + field = "Forward gear count", totalGearsCount + field = "" + field = "1st gear", gearRatio1, { totalGearsCount >= 1 } + field = "2nd gear", gearRatio2, { totalGearsCount >= 2 } + field = "3rd gear", gearRatio3, { totalGearsCount >= 3 } + field = "4th gear", gearRatio4, { totalGearsCount >= 4 } + field = "5th gear", gearRatio5, { totalGearsCount >= 5 } + field = "6th gear", gearRatio6, { totalGearsCount >= 6 } + field = "7th gear", gearRatio7, { totalGearsCount >= 7 } + field = "8th gear", gearRatio8, { totalGearsCount >= 8 } + + dialog = speedSensor, "Speed sensor", xAxis + panel = speedSensorLeft + gauge = VSSGauge + panel = gearDetection + +; Board->Connection + dialog = tsPort, "Calibration Secondary Serial" + field = "tunerStudioSerialSpeed", tunerStudioSerialSpeed + field = "TX pin", binarySerialTxPin + field = "RX pin", binarySerialRxPin + + dialog = canHw1, "Primary CAN" + field = "Verbose Can", verboseCan + field = "Bitrate", canBaudRate + field = "RX pin", canRxPin + field = "TX pin", canTxPin + field = "Allow OpenBLT", canOpenBLT + + dialog = canHw2, "Secondary CAN" + field = "Verbose Can2", verboseCan2 + field = "Bitrate", can2BaudRate + field = "RX pin", can2RxPin + field = "TX pin", can2TxPin + field = "Allow OpenBLT", can2OpenBLT + + dialog = canBus, "CAN Bus" + field = "CAN read enabled", canReadEnabled + field = "CAN write enabled", canWriteEnabled + field = "CAN dash type", canNbcType + field = "inertia measurement unit", imuType + field = "Enable FOME CAN broadcast", enableVerboseCanTx + field = verboseIsoTp, verboseIsoTp + field = "FOME CAN data bus", canBroadcastUseChannelTwo + field = "FOME CAN data base address", verboseCanBaseAddress + field = "FOME CAN data address type", rusefiVerbose29b + field = "FOME CAN data period", canSleepPeriodMs + + dialog = canBus2, "Secondary CAN Bus" + + dialog = canBusMain, "CAN Bus Communication", yAxis + panel = canBus + + panel = canHw1 + panel = canHw2 + + dialog = auxSerial, "AUX Sensor Serial" + field = "RX pin", auxSerialRxPin + field = "TX pin", auxSerialTxPin + field = "Serial Baud Rate", auxSerialSpeed + + dialog = sdCard, "SD Card Logger" + field = "#FOME logs to SD when powered without USB connected" + field = "#FOME connects SD to your PC when powered by USB" + field = "Enable SD Card", isSdCardEnabled + field = "CS Pin", sdCardCsPin + field = "SPI", sdCardSpiDevice + field = "SD logger rate", sdCardLogFrequency + field = "SD logger mode", sdTriggerLog + + dialog = tle8888, "TLE8888", yAxis + field = "TLE8888 Chip Select", tle8888_cs + field = "TLE8888 SPI", tle8888spiDevice + field = "Mode", tle8888mode + field = "useTLE8888 cranking reset hack", useTLE8888_cranking_hack + field = "useTLE8888 stepper", useTLE8888_stepper + commandButton = "Reinit", cmd_tle8888_init + field = "L9779 SPI", tle8888spiDevice + + dialog = connection, "", yAxis + panel = tsPort + field = "uartConsoleSerialSpeed", uartConsoleSerialSpeed + panel = auxSerial + + dialog = monitoringSettings, "FOME Console Settings" + field = "Sensor Sniffer", sensorChartMode + field = " Threshold", sensorSnifferRpmThreshold + field = "Engine Sniffer Threshold", engineSnifferRpmThreshold + + dialog = generalSettings, "Fuel" + field = "!https://wiki.fome.tech/r/fuel" + field = "Fuel strategy", fuelAlgorithm + + dialog = debugging, "Debug" + field = "!https://wiki.fome.tech/r/debugmode" + field = "Debug mode", debugMode + + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + + dialog = limitsSettings, "Limits" + field = "Cut fuel on RPM limit", cutFuelOnHardLimit + field = "Cut spark on RPM limit", cutSparkOnHardLimit + field = "Use CLT-based RPM limit curve", useCltBasedRpmLimit, { cutFuelOnHardLimit || cutSparkOnHardLimit } + field = "RPM hard limit", rpmHardLimit, { (cutFuelOnHardLimit || cutSparkOnHardLimit) && !useCltBasedRpmLimit } + field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } + field = "Boost cut pressure", boostCutPressure + field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting + + dialog = etbLimits, "Electronic Throttle Limiting" + field = "Smoothly close the throttle to limit RPM." + field = "Soft limiter start", etbRevLimitStart + field = "Soft limiter range", etbRevLimitRange + + dialog = limitsAndFallbackLeft + panel = limitsSettings + panel = etbLimits + + dialog = limitsAndFallbackCenter, "CLT-based RPM Limit" + panel = cltRevLimitCurve + + dialog = limitsAndFallback, "Limits and fallbacks", border + panel = limitsAndFallbackLeft, West + panel = limitsAndFallbackCenter, Center, { (cutFuelOnHardLimit || cutSparkOnHardLimit) && useCltBasedRpmLimit } + +; Engine->Base Engine Settings + dialog = engineChars, "Base Engine Settings" + topicHelp = "baseHelp" + panel = baseEngineConfig + panel = engineMetadata + panel = generalSettings + panel = debugging + + dialog = crankingFuel, "Fuel" + field = "Injection mode", crankingInjectionMode + field = "Fuel Source For Cranking", useRunningMathForCranking + field = "Base fuel mass", cranking_baseFuel, {useRunningMathForCranking == 0} + + dialog = crankingIAC, "Idle air valve" + field = "Cranking base IAC position", crankingIACposition + field = "After cranking IAC taper duration",afterCrankingIACtaperDuration + field = "Override cranking IAC CLT multiplier", overrideCrankingIacSetting + + dialog = crankingIgnition, "Ignition" + field = "Timing Advance mode", useSeparateAdvanceForCranking + field = "Fixed cranking advance", crankingTimingAngle, {useSeparateAdvanceForCranking == 0} + field = "Fixed Cranking Dwell", ignitionDwellForCrankingMs + + dialog = postCrankingEnrichment, "After start enrichment" + field = "Post-Cranking factor", postCrankingFactor + field = "Duration", postCrankingDurationSec + + dialog = primingFuelPulsePanel, "Priming fuel pulse" + field = "Priming delay", primingDelay + panel = primingPulse + + dialog = crankingAdv, "Advanced" + field = "Enable flood clear", isCylinderCleanupEnabled + field = "Enable faster engine spin-up", isFasterEngineSpinUpEnabled + field = "Use Advance Corrections for cranking", useAdvanceCorrectionsForCranking + field = "Use Flex Fuel cranking table", flexCranking, { flexSensorPin != 0 } + +; Cranking->Cranking Settings + dialog = crankingDialog, "Cranking Settings" + field = "Cranking RPM limit", cranking_rpm + panel = crankingFuel + panel = crankingIgnition + panel = crankingIAC + panel = crankingAdv + + dialog = TpsAccelPanel, "TPS" + field = "Set 'Debug Mode' to see detailed 'TPS acceleration enrichment' diagnostics" + field = "Length", tpsAccelLookback + field = "Accel Threshold", tpsAccelEnrichmentThreshold + field = "Decel Threshold", tpsDecelEnleanmentThreshold +; field = "Decel Multiplier", tpsDecelEnleanmentMultiplier + field = "#Accelerator Pump model:" + field = "Fraction Period", tpsAccelFractionPeriod + field = "Fraction Divisor", tpsAccelFractionDivisor + + dialog = WallWettingAccelPanel, "Wall Wetting (alpha version)" + field = "Wall fueling model type", complexWallModel + field = "evaporation time constant / tau", wwaeTau, { complexWallModel == 0 } + field = "added to wall coef / beta", wwaeBeta, { complexWallModel == 0 } + + +; Tuning->AccelEnrichment + dialog = AccelEnrich, "Accel/Decel Enrichment" + panel = TpsAccelPanel + panel = WallWettingAccelPanel + field = "No accel after RPM hard limit", noAccelAfterHardLimitPeriodSecs + + + dialog = wwTauCurves, "Wall wetting AE evaporation time" + field = "#Set a base evaporation time based on coolant temperature, and a multiplier based on MAP." + panel = wwTauCltCurve + panel = wwTauMapCurve + + dialog = wwBetaCurves, "Wall wetting AE impact fraction" + field = "#Set a base impact fraction based on coolant temperature, and a multiplier based on MAP." + panel = wwBetaCltCurve + panel = wwBetaMapCurve + + dialog = auxValvesIO, "Outputs" + field = "aux valve #1", auxValves1 + field = "aux valve #2", auxValves2 + + dialog = scriptSetting, "Setting" + field = "!Use FOME console for Lua script editing" + field = "Set number is not associated with the output number." + field = "Set number, only the cell number with some numbers." + field = "Name #1", scriptSettingName1 + field = "Setting #1", scriptSetting1 + field = "Name #2", scriptSettingName2 + field = "Setting #2", scriptSetting2 + field = "Name #3", scriptSettingName3 + field = "Setting #3", scriptSetting3 + field = "Name #4", scriptSettingName4 + field = "Setting #4", scriptSetting4 + field = "Name #5", scriptSettingName5 + field = "Setting #5", scriptSetting5 + field = "Name #6", scriptSettingName6 + field = "Setting #6", scriptSetting6 + + dialog = scriptSettingDialog, "Script Settings", border + panel = scriptSetting, East + + dialog = luaDigitalInputsLeftDialog + field = "Digital #1", luaDigitalInputPins1 + field = "Digital #2", luaDigitalInputPins2 + field = "Digital #3", luaDigitalInputPins3 + field = "Digital #4", luaDigitalInputPins4 + field = "Digital #5", luaDigitalInputPins5 + field = "Digital #6", luaDigitalInputPins6 + field = "Digital #7", luaDigitalInputPins7 + field = "Digital #8", luaDigitalInputPins8 + + dialog = luaDigitalInputsRightDialog + field = "Mode #1", luaDigitalInputPinModes1 + field = "Mode #2", luaDigitalInputPinModes2 + field = "Mode #3", luaDigitalInputPinModes3 + field = "Mode #4", luaDigitalInputPinModes4 + field = "Mode #5", luaDigitalInputPinModes5 + field = "Mode #6", luaDigitalInputPinModes6 + field = "Mode #7", luaDigitalInputPinModes7 + field = "Mode #8", luaDigitalInputPinModes8 + + dialog = luaDigitalInputsDialog, "Lua Digital Inputs", border + panel = luaDigitalInputsLeftDialog, West + panel = luaDigitalInputsRightDialog, East + + dialog = auxInputsDialog, "Lua Analog Inputs" + field = "ADC #1", auxAnalogInputs1 + field = "ADC #2", auxAnalogInputs2 + field = "ADC #3", auxAnalogInputs3 + field = "ADC #4", auxAnalogInputs4 + field = "ADC #5", auxAnalogInputs5 + field = "ADC #6", auxAnalogInputs6 + field = "ADC #7", auxAnalogInputs7 + field = "ADC #8", auxAnalogInputs8 + + dialog = luaOutputs, "Lua Outputs" + field = "!Use FOME console for Lua script editing" + field = "#Call startPwm to initialize, then call" + field = "#setPwmDuty and setPwmFreq to vary duty/freq" + field = "#See https://wiki.fome.tech/r/lua for more info" + field = "output #0", luaOutputPins1 + field = "output #1", luaOutputPins2 + field = "output #2", luaOutputPins3 + field = "output #3", luaOutputPins4 + field = "output #4", luaOutputPins5 + field = "output #5", luaOutputPins6 + field = "output #6", luaOutputPins7 + field = "output #7", luaOutputPins8 + + dialog = transmissionPanel + field = "TCU Enabled" tcuEnabled + field = "Gear Controller" gearControllerMode, { tcuEnabled } + field = "Transmission Controller" transmissionControllerMode, { tcuEnabled } + + dialog = shiftSolenoidPanel, "Shift Solenoids" + field = "Solenoid 1 output" tcu_solenoid1, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 1 output Mode" tcu_solenoid_mode1, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 2 output" tcu_solenoid2, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 2 output Mode" tcu_solenoid_mode2, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 3 output" tcu_solenoid3, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 3 output Mode" tcu_solenoid_mode3, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 4 output" tcu_solenoid4, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 4 output Mode" tcu_solenoid_mode4, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 5 output" tcu_solenoid5, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 5 output Mode" tcu_solenoid_mode5, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 6 output" tcu_solenoid6, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "Solenoid 6 output Mode" tcu_solenoid_mode6, { tcuEnabled && (transmissionControllerMode == 1 || transmissionControllerMode == 2) } + field = "3-2 Solenoid output" tcu_32_solenoid_pin, { tcuEnabled && (transmissionControllerMode == 2) } + field = "3-2 Solenoid output mode" tcu_32_solenoid_pin_mode, { tcuEnabled && (transmissionControllerMode == 2) } + field = "3-2 Solenoid Frequency" tcu_32_solenoid_freq, { tcuEnabled && (transmissionControllerMode == 2) } + + dialog = otherSolenoidPanel, "Other Solenoids" + field = "TCC On/Off Solenoid Pin" tcu_tcc_onoff_solenoid, { tcuEnabled && (transmissionControllerMode == 2) } + field = "TCC On/Off Solenoid Pin Mode" tcu_tcc_onoff_solenoid_mode, { tcuEnabled && (transmissionControllerMode == 2) } + field = "TCC PWM Solenoid Pin" tcu_tcc_pwm_solenoid, { tcuEnabled && (transmissionControllerMode == 2) } + field = "TCC PWM Solenoid Pin Mode" tcu_tcc_pwm_solenoid_mode, { tcuEnabled && (transmissionControllerMode == 2) } + field = "TCC PWM Solenoid Frequency" tcu_tcc_pwm_solenoid_freq, { tcuEnabled && (transmissionControllerMode == 2) } + field = "Pressure Control Solenoid Pin" tcu_pc_solenoid_pin, { tcuEnabled && (transmissionControllerMode == 2) } + field = "Pressure Control Solenoid Pin Mode" tcu_pc_solenoid_pin_mode, { tcuEnabled && (transmissionControllerMode == 2) } + field = "Pressure Control Solenoid Frequency" tcu_pc_solenoid_freq, { tcuEnabled && (transmissionControllerMode == 2) } + + dialog = buttonShiftInputPanel, "Switch/Button Shift" + field = "Upshift Pin" tcuUpshiftButtonPin, { tcuEnabled && gearControllerMode == 1 } + field = "Upshift Pin Mode" tcuUpshiftButtonPinMode, { tcuEnabled && gearControllerMode == 1 } + field = "Downshift Pin" tcuDownshiftButtonPin, { tcuEnabled && gearControllerMode == 1 } + field = "Downshift Pin Mode" tcuDownshiftButtonPinMode, { tcuEnabled && gearControllerMode == 1 } + + dialog = inputSpeedSensorPanel, "Input Speed Sensor" + field = "Input Pin", tcuInputSpeedSensorPin + field = "Filter parameter", issFilterReciprocal, { tcuInputSpeedSensorPin != 0 } + field = "Tooth Count", tcuInputSpeedSensorTeeth + +dialog = tcuControls, "Transmission Settings" + panel = transmissionPanel + panel = shiftSolenoidPanel + panel = otherSolenoidPanel + + dialog = gearControls, "Gear Selection Settings" + panel = buttonShiftInputPanel + + dialog = inputSpeedSensor, "Input Speed Sensor" + panel = inputSpeedSensorPanel + + dialog = tccCurves, "TCC Lock/Unlock Speed" + panel = tccLockCurve + + dialog = pcPerGearDialog, "Line Pressure Per Gear Steady State" + panel = pcPerGearCurve + + dialog = pcPerShiftDialog, "Line Pressure Per Shift" + panel = pcPerShiftCurve + + dialog = 32Dialog, "3-2 Shift Solenoid Percent by Speed" + panel = 32Curve + +;Boost Open Loop + + dialog = boostDialog, "" + field = "Enable", isBoostControlEnabled + field = "Control Mode", boostType, { isBoostControlEnabled } + field = "Output", boostControlPin, { boostControlPin != 0 || isBoostControlEnabled } + field = "Output Mode", boostControlPinMode, { isBoostControlEnabled } + field = "Frequency", boostPwmFrequency, { isBoostControlEnabled } + field = "Safe duty cycle", boostControlSafeDutyCycle, { isBoostControlEnabled } + field = "No boost control below RPM", boostControlMinRpm, { isBoostControlEnabled } + field = "No boost control below TPS", boostControlMinTps, { isBoostControlEnabled } + field = "No boost control below MAP", boostControlMinMap, { isBoostControlEnabled } + + dialog = boostOpenLoopDialog, "", border + panel = boostTableTbl, Center + +;Boost Closed Loop + + dialog = boostPidDialog, "" + topicHelp = "boostPidHelp" + field = "Enable closed loop above", minimumBoostClosedLoopMap, { isBoostControlEnabled && boostType == 1 } + field = "P Gain", boostPid_pFactor, { isBoostControlEnabled && boostType == 1 } + field = "I Gain", boostPid_iFactor, { isBoostControlEnabled && boostType == 1 } + field = "D Gain", boostPid_dFactor, { isBoostControlEnabled && boostType == 1 } + field = "Min adjustment", boostPid_minValue, { isBoostControlEnabled && boostType == 1 } + field = "Max adjustment", boostPid_maxValue, { isBoostControlEnabled && boostType == 1 } + + dialog = boostTargetDialog, "", card + panel = boostTable2Tbl + + dialog = boostEtbPid, "" + field = "This PID is controlling how DC motor reaches desired position" + field = "" + field = "!This section is for advanced users only!" + field = "H-Bridge #1 function", etbFunctions1 + field = "H-Bridge #2 function", etbFunctions2 + field = "P gain", etbWastegatePid_pFactor, { isBoostControlEnabled } + field = "I gain", etbWastegatePid_iFactor, { isBoostControlEnabled } + field = "D gain", etbWastegatePid_dFactor, { isBoostControlEnabled } + field = "PID min", etbWastegatePid_minValue, { isBoostControlEnabled } + field = "PID max", etbWastegatePid_maxValue, { isBoostControlEnabled } + + help = boostPidHelp, "Boost Control PID" + text = "P = % per kPa error" + text = "I = % per kPa-seconds" + text = "D = % per kPa/sec" + text = "" + text = "If the boost error is 5kpa, and your P is set to 2, it will make a correction of 10%." + text = "If the boost error has been 5kPa for 2 second (10 kPa-seconds) and I is set to 0.1, it will make a correction of 1%" + text = "If the boost is changing at 10kPa/s and D is set to 0.5, it will make a correction of 5%." + text = "Those three terms are then added together, and limited by the PID min/max settings." + text = "" + text = "That is then added to the value from the open loop table, and sent to PWM the valve." + + help = veTableDialogHelp, "Volumetric Efficiency" + text = "Volumetric Efficiency is used to calculate fuel in Speed Density mode. VE incorporates pressure ratio as measured by MAP sensor in boost (no VE ever above 105%ish)" + webHelp = "https://wiki.fome.tech/r/fuel" + + help = stepperHbridgeHardwareHelp, "Stepper driven by Dual H-bridge" + text = "In case you are using two H-bridges driving 4-wire stepper. H-brigde control signals connected to MCU pins configured here." + + help = idleStepperHwHelp, "Stepper drivern by step motor driver IC" + text = "In case you have some special IC that drives your stepper. MCU to IC control signals (DIR/STEP/EN) configured here" + + help = stepperDirectDriveHardwareHelp, "Stepper driven by 4 Push-Pull/Pull outputs" + text = "In case you have 4/6-wire stepper driven by 4 ECU outputs in Push-Pull or Pull mode. Set ECU outputs used for each phase here." + + help = iatFuelCorrCurveHelp, "IAT Fuel Correction" + text = "Charge temperature estimation coefficient is the more proper way to handle IAT for fuel purposes" + text = "Open question who if anyone needs IAT Fuel Correction when" + + help = fuelHelp, "Fuel Control" + text = "More about fuel control on the web" + webHelp = "https://wiki.fome.tech/r/fuel" + + help = triggerHelp, "Trigger Settings" + text = "More about Trigger Settings on the web" + webHelp = "https://wiki.fome.tech/r/trigger" + + help = etbHelp, "ETB Control" + text = "More about electronic throttle body on the web" + webHelp = "https://wiki.fome.tech/r/etb" + + help = vrThresholdHelp, "VR Sensor Threshold" + text = "This is about FOME VR Discrete decoder" + webHelp = "https://wiki.fome.tech/r/vr" + + help = tpsTpsHelp, "Acceleration Enrichment" + text = "More about Tps To Tps acceleration on the web" + webHelp = "https://wiki.fome.tech/r/tpstps" + + help = baseHelp, "Base Settings Control" + text = "More about FOME on the web" + webHelp = "https://wiki.fome.tech" + + dialog = veTableDialog + topicHelp = "veTableDialogHelp" + panel = veTableTbl, South + + dialog = veTableDialog3D, "VE Table" + topicHelp = "veTableDialogHelp" + panel = veTableMap, South + + dialog = etbPidDialog, "PID settings" + field = "pFactor", etb_pFactor + field = "iFactor", etb_iFactor + field = "dFactor", etb_dFactor + field = "pid min", etb_minValue + field = "pid max", etb_maxValue + field = "iTermMin", etb_iTermMin + field = "iTermMax", etb_iTermMax + + dialog = etbIdleDialog, "ETB Idle" + field = "ETB idle maximum angle", etbIdleThrottleRange + + dialog = etbDialogLeft + field = "https://wiki.fome.tech/r/etb" + field = "Disable ETB if engine is stopped", disableEtbWhenEngineStopped + field = "Disable ETB Motor", pauseEtbControl + field = "H-Bridge #1 function", etbFunctions1 + field = "H-Bridge #2 function", etbFunctions2 + field = "PWM Frequency", etbFreq + field = "Minimum ETB position", etbMinimumPosition + field = "Maximum ETB position", etbMaximumPosition + field = "Jam detection integrator max", etbJamIntegratorLimit + field = "Jam detection timeout period", etbJamTimeout + field = "Duty Averaging Length", etbExpAverageLength + field = "Rate of change Averaging Length", etbRocExpAverageLength + ; we need the term about stepper idle in here, because there's a bug in TS that you can't have different visibility + ; criteria for the same panel when used in multiple places + ; todo: report bug to TS? + ; another todo: split panel into two panels so that we can enable/disable h-bridge #1 separately from h-bridge #2 + + dialog = etbAutotune, "PID Autotune" + field = "First step: calibrate TPS and hit 'Burn'" + commandButton = "Auto Calibrate ETB 1", cmd_etb_auto_calibrate, {etb1configured == 1 && tps1_1AdcChannel != 0 && calibrationMode == 0} + commandButton = "Auto Calibrate ETB 2", cmd_etb_auto_calibrate_2, {etb2configured == 1 && tps2_1AdcChannel != 0 && calibrationMode == 0} + field = "Second step" + commandButton = "Start ETB PID Autotune", cmd_etb_autotune, {(etb1configured == 1 || etb2configured == 1) && calibrationMode = 0} + commandButton = "Stop ETB PID Autotune", cmd_etb_autotune_stop, {(etb1configured == 1 || etb2configured == 1) && calibrationMode >= 3 && calibrationMode <= 5} + + field = "!Set debug mode below to 'ETB Autotune' to show more detail" + field = "Debug mode", debugMode + + dialog = etbDialogRight + panel = etbIdleDialog,{ etbFunctions1 == 1 || etbFunctions1 == 2 || etbFunctions2 == 1 || etbFunctions2 == 2 } + panel = etbPidDialog, { etbFunctions1 == 1 || etbFunctions1 == 2 || etbFunctions2 == 1 || etbFunctions2 == 2 } + panel = etbAutotune, { etbFunctions1 == 1 || etbFunctions1 == 2 || etbFunctions2 == 1 || etbFunctions2 == 2 } + + dialog = etbDialog, "Electronic Throttle Body", border + topicHelp = "etbHelp" + panel = etbDialogLeft, West + panel = etbDialogRight, East + + dialog = testMisc, "Misc" + commandButton = "Main Relay", cmd_test_main_relay + commandButton = "Fuel pump on", cmd_fuel_pump_on + commandButton = "Fuel pump off", cmd_fuel_pump_off + commandButton = "Cooling Fan", cmd_test_fan_1 + commandButton = "Cooling Fan 2", cmd_test_fan_2 + commandButton = "A/C Relay", cmd_test_ac_relay + commandButton = "Check Engine", cmd_test_check_engine_light + commandButton = "Idle Air Valve", cmd_test_idle_valve + commandButton = "Idle Second Air Valve", cmd_test_second_idle_valve + commandButton = "HPFP Valve", cmd_test_hpfp_valve + commandButton = "Starter Relay", cmd_test_starter_relay + commandButton = "Stop Engine", cmd_stop_engine + commandButton = "Write Config", cmd_write_config + commandButton = "Reset ECU", cmd_reset_controller + commandButton = "Reset to DFU", cmd_dfu + commandButton = "Reset to OpenBLT", cmd_openblt + commandButton = "No flash Burn mode", cmd_burn_without_flash + + ; bench test + dialog = ioTest, "Bench Test & Commands", xAxis + panel = testOther + panel = testLuaOut + panel = testMisc + + ; Injectors test + dialog = injTest_l, "" + commandButton = "Injector #1", cmd_test_inj1 + commandButton = "Injector #2", cmd_test_inj2, { cylindersCount >= 2 } + commandButton = "Injector #3", cmd_test_inj3, { cylindersCount >= 3 } + commandButton = "Injector #4", cmd_test_inj4, { cylindersCount >= 4 } + commandButton = "Injector #5", cmd_test_inj5, { cylindersCount >= 5 } + commandButton = "Injector #6", cmd_test_inj6, { cylindersCount >= 6 } + commandButton = "Injector #7", cmd_test_inj7, { cylindersCount >= 7 } + commandButton = "Injector #8", cmd_test_inj8, { cylindersCount >= 8 } + commandButton = "Injector #9", cmd_test_inj9, { cylindersCount >= 9 } + commandButton = "Injector #10", cmd_test_inj10, { cylindersCount >= 10 } + commandButton = "Injector #11", cmd_test_inj11, { cylindersCount >= 11 } + commandButton = "Injector #12", cmd_test_inj12, { cylindersCount >= 12 } + + dialog = injTest_c, "", yAxis + field = "Iterations", benchTestCount + field = "ON time", benchTestOnTime + field = "OFF time", benchTestOffTime + field = "" + commandButton = "Abort test", cmd_test_cancel + field = "" + field = "Use these buttons to run the" + field = "fuel pump for testing injectors" + commandButton = "Fuel pump on", cmd_fuel_pump_on + commandButton = "Fuel pump off", cmd_fuel_pump_off + gauge = testBenchIterGauge + + dialog = injTest_r, "Reference gauges", yAxis + gauge = VBattGauge,North + gauge = lowFuelPressureGauge + + dialog = injTest, "", xAxis + panel = injTest_l + panel = injTest_c + panel = injTest_r + + ; Ignition coils test + dialog = ignTest_l, "" + commandButton = "Spark #1", cmd_test_spk1 + commandButton = "Spark #2", cmd_test_spk2, { cylindersCount >= 2 } + commandButton = "Spark #3", cmd_test_spk3, { cylindersCount >= 3 } + commandButton = "Spark #4", cmd_test_spk4, { cylindersCount >= 4 } + commandButton = "Spark #5", cmd_test_spk5, { cylindersCount >= 5 } + commandButton = "Spark #6", cmd_test_spk6, { cylindersCount >= 6 } + commandButton = "Spark #7", cmd_test_spk7, { cylindersCount >= 7 } + commandButton = "Spark #8", cmd_test_spk8, { cylindersCount >= 8 } + commandButton = "Spark #9", cmd_test_spk9, { cylindersCount >= 9 } + commandButton = "Spark #10", cmd_test_spk10, { cylindersCount >= 10 } + commandButton = "Spark #11", cmd_test_spk11, { cylindersCount >= 11 } + commandButton = "Spark #12", cmd_test_spk12, { cylindersCount >= 12 } + + dialog = ignTest_c, "" + field = "Iterations", ignTestCount + field = "ON time", ignTestOnTime + field = "OFF time", ignTestOffTime + commandButton = "Abort test", cmd_test_cancel + gauge = testIgnIterGauge + + dialog = ignTest, "", xAxis + panel = ignTest_l + panel = ignTest_c + + dialog = widebandConfig, "CAN Wideband Config" + field = "!Please connect exactly one wideband controller before pressing these buttons!" + commandButton = "Update Firmware", cmd_wideband_firmare_update + field = "!These buttons will set ALL connected controllers to the specified index." + field = "!Disconnect all controllers you don't want to set!" + commandButton = "Set Index 0", cmd_set_wideband_idx_0 + commandButton = "Set Index 1", cmd_set_wideband_idx_1 + field = "Wideband CAN bus", widebandOnSecondBus + field = "Force O2 sensor heating", forceO2Heating + + dialog = engineTypeDialog, "Popular vehicles" + field = "!These buttons send a command to FOME to apply preset values" + field = "!Once you send the command, please reconnect to FOME in order to read fresh values" + commandButton = "Frankenso Miata NA6 Stage 1", cmd_set_engine_type_Frankenso_Miata_NA6_MAP + commandButton = "Frankenso Miata NB2 MAP", cmd_set_engine_type_Frankenso_Miata_NB2 + + + + + + + + + + + commandButton = "ETB test bench", cmd_set_engine_type_etb_test + commandButton = "TLE8888 test bench", cmd_set_engine_type_8888_test + commandButton = "Reset firmware settings", cmd_set_engine_type_default + +; Board->ECU stimulator + dialog = ecuStimulator, "ECU stimulator" + field = "Trigger Simulator", triggerSimulatorRpm + commandButton = "Enable internal trigger simulation", cmd_enable_self_stim + commandButton = "Enable external trigger simulation", cmd_enable_ext_stim + commandButton = "Disable trigger simulation", cmd_disable_self_stim + field = "" + field = "trigger stimulator output #1", triggerSimulatorPins1 + field = "trigger stimulator output #2", triggerSimulatorPins2 + field = "" + field = "Logic input channel 1", logicAnalyzerPins1 + field = "Logic input channel 2", logicAnalyzerPins2 + field = "Logic input channel 3", logicAnalyzerPins3 + field = "Logic input channel 4", logicAnalyzerPins4 + field = "" + field = "Engine chart size", engineChartSize + + ; Racing Features->Launch Control + dialog = smLaunchControlWest, "Launch Control Settings" + field = "Enable Launch Control", launchControlEnabled + field = "Activation Mode", launchActivationMode + + field = "Launch Button", launchActivatePin, { launchActivatePin != 0 || (launchActivationMode == 0 && launchControlEnabled == 1)} + field = "Launch Button inverted", launchActivateInverted + field = "Launch Button mode", launchActivatePinMode, {launchActivationMode == 0 && launchControlEnabled == 1} + + field = "Clutch Down", clutchDownPin, {launchActivationMode == 1 && launchControlEnabled == 1} + field = "Clutch Down inverted", clutchDownPinInverted + field = "Clutch Down mode", clutchDownPinMode, {launchActivationMode == 1 && launchControlEnabled == 1} + field = "" + +; dead code field = "Rpm Threshold", launchRpmThreshold, {launchControlEnabled == 1} + field = "Speed Threshold", launchSpeedThreshold, {launchControlEnabled == 1} + field = "" + field = "Launch RPM", launchRpm, {launchControlEnabled == 1} + field = "Ignition Retard Adder", launchTimingRpmRange, {launchControlEnabled == 1 && enableLaunchRetard == 1} + field = "Hard Cut RPM Adder", hardCutRpmRange, {launchControlEnabled == 1} + ;field = "Extra Fuel", launchFuelAdded, {launchControlEnabled == 1} + ;field = "Boost Solenoid Duty", launchBoostDuty, {launchControlEnabled == 1} + field = "TPS Threshold", launchTpsThreshold, {launchControlEnabled == 1} + field = "Ignition Retard enable", enableLaunchRetard, {launchControlEnabled == 1} + field = "Ignition Retard", launchTimingRetard, {launchControlEnabled == 1 && enableLaunchRetard == 1} + field = "Fuel Added %", launchFuelAdderPercent, {launchControlEnabled == 1} + field = "Smooth Retard Mode", launchSmoothRetard, {launchControlEnabled == 1 && enableLaunchRetard == 1} + field = "Hard Cut Mode" + field = "Ignition Cut", launchSparkCutEnable, {launchControlEnabled == 1} + field = "Fuel Cut", launchFuelCutEnable, {launchControlEnabled == 1} + + + dialog = smLaunchControl, "", border + panel = smLaunchControlWest, West + panel = launch_control_stateDialog, East + + dialog = antiLagDialog, "AntiLag Settings" + field = "Enable AntiLag", antiLagEnabled + field = "Activation Mode", antiLagActivationMode + field = "Switch Input", ALSActivatePin, {antiLagActivationMode == 0 && antiLagEnabled == 1} + field = "ALS Button inverted", ALSActivateInverted, {antiLagActivationMode == 0 && antiLagEnabled == 1} + field = "ALS Button mode", ALSActivatePinMode, {antiLagActivationMode == 0 && antiLagEnabled == 1} + field = "ALS timeout", ALSMaxDuration, {antiLagEnabled == 1} + field = "Max TPS", ALSMaxTPS, {antiLagEnabled == 1} + field = "Min RPM", ALSMinRPM, {antiLagEnabled == 1} + field = "Max RPM", ALSMaxRPM, {antiLagEnabled == 1} + field = "Min CLT", ALSMinCLT, {antiLagEnabled == 1} + field = "Max CLT", ALSMaxCLT, {antiLagEnabled == 1} + field = "Idle Air Add", ALSIdleAdd, {antiLagEnabled == 1} + field = "ETB Air Add", ALSEtbAdd, {antiLagEnabled == 1} + field = "Spark Skip Ratio", ALSSkipRatio, {antiLagEnabled == 1} + panel = FuelAdderTableALS + panel = IgnRetardTableALS + + + dialog = coastingFuelCutControl, "Coasting Fuel Cutoff Settings" + field = "Enable Coasting Fuel Cutoff", coastingFuelCutEnabled + field = "No cut below CLT", coastingFuelCutClt, {coastingFuelCutEnabled == 1} + field = "RPM cut fuel above", coastingFuelCutRpmHigh, {coastingFuelCutEnabled == 1} + field = "RPM restore fuel below", coastingFuelCutRpmLow, {coastingFuelCutEnabled == 1} + field = "Vehicle speed cut above", coastingFuelCutVssHigh, {coastingFuelCutEnabled == 1} + field = "Vehicle speed restore below", coastingFuelCutVssLow, {coastingFuelCutEnabled == 1} + field = "Cut fuel below TPS", coastingFuelCutTps, {coastingFuelCutEnabled == 1} + field = "Cut fuel below MAP", coastingFuelCutMap, {coastingFuelCutEnabled == 1} + field = "Fuel cut delay", dfcoDelay, {coastingFuelCutEnabled == 1} + field = "Inhibit closed loop fuel after cut", noFuelTrimAfterDfcoTime, {coastingFuelCutEnabled == 1} + + dialog = rotaryDialog, "Rotary" + field = "Enable Trailing Sparks", enableTrailingSparks + field = "Trailing Spark Offset", trailingSparkAngle + field = "Trailing Pin 1", trailingCoilPins1 + field = "Trailing Pin 2", trailingCoilPins2 + field = "Trailing Pin 3", trailingCoilPins3 + field = "Trailing Pin 4", trailingCoilPins4 + + dialog = fancyHardwareDialog, "Fancy Boards" + field = "Tachometer Output", boardUseTachPullUp + field = "boardUseTempPullUp", boardUseTempPullUp + field = "boardUseCrankPullUp", boardUseCrankPullUp + field = "2-step input", boardUse2stepPullDown + field = "boardUseCamPullDown", boardUseCamPullDown + field = "boardUseCamVrPullUp", boardUseCamVrPullUp + field = "boardUseD2PullDown", boardUseD2PullDown + field = "boardUseD3PullDown", boardUseD3PullDown + field = "boardUseD4PullDown", boardUseD4PullDown + field = "boardUseD5PullDown", boardUseD5PullDown + field = "SENT input 1", sentInputPins1 + field = "SENT sentEtbType", sentEtbType + + dialog = harleyAcr, "Harley Automatic Compression Release" + field = "Pin", acrPin + field = "Pin 2", acrPin2 + field = "#ACR is disabled after the specified number" + field = "#of revolutions, plus degrees of engine phase" + field = "Disable after revolutions", acrRevolutions + field = "Disable after engine phase", acrDisablePhase + + dialog = parkingLot, "Experimental/Broken" + field = "I understand ECU Locking", yesUnderstandLocking + field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } + field = "#System hacks" + field = "Global fuel correction", globalFuelCorrection + field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex + 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 = "ADC vRef voltage", adcVcc + field = "CLT sensor is pulldown instead of pullup", cltSensorPulldown + field = "IAT sensor is pulldown instead of pullup", iatSensorPulldown + field = "BRZ/FRS/GT86 pedal", allowIdenticalPps + field = "Artificial Misfire", artificialTestMisfire + field = "Instant Rpm Range", instantRpmRange + field = "Always use instant RPM", alwaysInstantRpm + field = "Never use instant RPM TODO", neverInstantRpm + field = vinNumber, vinNumber + field = turbochargerFilter, turbochargerFilter + field = auxFrequencyFilter, auxFrequencyFilter + field = useBiQuadOnAuxSpeedSensors, useBiQuadOnAuxSpeedSensors + field = "TODO KS mode 4569", kickStartCranking + panel = allTriggerDebug + panel = harleyAcr + + help = helpGeneral, "FOME General Help" + webHelp = "https://wiki.fome.tech/" + text = "" + + dialog = vrThreshold1, "VR 1 Threshold" + field = "Pin", vrThreshold1_pin + panel = vrThresholdCurve1 + + dialog = vrThreshold2, "VR 2 Threshold" + field = "Pin", vrThreshold2_pin + panel = vrThresholdCurve2 + + dialog = vrThreshold + topicHelp = "vrThresholdHelp" + panel = vrThreshold1 + panel = vrThreshold2 + + dialog = gppwm1left, "" + field = "Output", gppwm1_pin + field = "" + field = "Set frequency to 0hz for on-off mode" + field = "Frequency", gppwm1_pwmFrequency, {gppwm1_pin != 0} + field = "" + field = "On above duty", gppwm1_onAboveDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0} + field = "Off below duty", gppwm1_offBelowDuty, {gppwm1_pin != 0 && gppwm1_pwmFrequency == 0} + field = "Duty if error", gppwm1_dutyIfError, {gppwm1_pin != 0} + field = "" + field = "X Axis", gppwm1_rpmAxis, {gppwm1_pin != 0} + field = "Y Axis", gppwm1_loadAxis, {gppwm1_pin != 0} + field = "Note", gpPwmNote1 + field = "" + field = "" + field = "" + field = "" + field = "" + + dialog = gppwm1, "General Purpose PWM 1", xAxis + panel = gppwm1left + panel = gppwm1Tbl, {gppwm1_pin != 0} + + dialog = gppwm2left, "" + field = "Output", gppwm2_pin + field = "" + field = "Set frequency to 0hz for on-off mode" + field = "Frequency", gppwm2_pwmFrequency, {gppwm2_pin != 0} + field = "" + field = "On above duty", gppwm2_onAboveDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0} + field = "Off below duty", gppwm2_offBelowDuty, {gppwm2_pin != 0 && gppwm2_pwmFrequency == 0} + field = "Duty if error", gppwm2_dutyIfError, {gppwm2_pin != 0} + field = "" + field = "X Axis", gppwm2_rpmAxis, {gppwm2_pin != 0} + field = "Y Axis", gppwm2_loadAxis, {gppwm2_pin != 0} + field = "Note", gpPwmNote2 + field = "" + field = "" + field = "" + field = "" + field = "" + + dialog = gppwm2, "General Purpose PWM 2", xAxis + panel = gppwm2left + panel = gppwm2Tbl, {gppwm2_pin != 0} + + dialog = gppwm3left, "" + field = "Output", gppwm3_pin + field = "" + field = "Set frequency to 0hz for on-off mode" + field = "Frequency", gppwm3_pwmFrequency, {gppwm3_pin != 0} + field = "" + field = "On above duty", gppwm3_onAboveDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0} + field = "Off below duty", gppwm3_offBelowDuty, {gppwm3_pin != 0 && gppwm3_pwmFrequency == 0} + field = "Duty if error", gppwm3_dutyIfError, {gppwm3_pin != 0} + field = "" + field = "X Axis", gppwm3_rpmAxis, {gppwm3_pin != 0} + field = "Y Axis", gppwm3_loadAxis, {gppwm3_pin != 0} + field = "Note", gpPwmNote3 + field = "" + field = "" + field = "" + field = "" + field = "" + + dialog = gppwm3, "General Purpose PWM 3", xAxis + panel = gppwm3left + panel = gppwm3Tbl, {gppwm3_pin != 0} + + dialog = gppwm4left, "" + field = "Output", gppwm4_pin + field = "" + field = "Set frequency to 0hz for on-off mode" + field = "Frequency", gppwm4_pwmFrequency, {gppwm4_pin != 0} + field = "" + field = "On above duty", gppwm4_onAboveDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0} + field = "Off below duty", gppwm4_offBelowDuty, {gppwm4_pin != 0 && gppwm4_pwmFrequency == 0} + field = "Duty if error", gppwm4_dutyIfError, {gppwm4_pin != 0} + field = "" + field = "X Axis", gppwm4_rpmAxis, {gppwm4_pin != 0} + field = "Y Axis", gppwm4_loadAxis, {gppwm4_pin != 0} + field = "Note", gpPwmNote4 + field = "" + field = "" + field = "" + field = "" + field = "" + + dialog = gppwm4, "General Purpose PWM 4", xAxis + panel = gppwm4left + panel = gppwm4Tbl, {gppwm4_pin != 0} + + dialog = hpfpCamDialog, "HPFP Cam Configuration" + field = "Number of lobes", hpfpCamLobes + field = "If using VVT, which cam the pump is driven from", hpfpCam, {hpfpCamLobes != 0} + field = "Angle of first lobe", hpfpPeakPos, {hpfpCamLobes != 0} + panel = hpfpLobeProfileCurve, {hpfpCamLobes != 0} + + dialog = hpfpPumpDialog, "HPFP Pump Configuration" + field = "Valve Pin", hpfpValvePin, {hpfpCamLobes != 0} + field = "Valve Pin Mode", hpfpValvePinMode, {hpfpCamLobes != 0} + field = "Valve peak current", mc33_hpfp_i_peak, {hpfpCamLobes != 0} + field = "Valve hold current", mc33_hpfp_i_hold, {hpfpCamLobes != 0} + field = "Valve hold off time", mc33_hpfp_i_hold_off, {hpfpCamLobes != 0} + field = "Valve maximum duration", mc33_hpfp_max_hold, {hpfpCamLobes != 0} + field = "Pump volume", hpfpPumpVolume, {hpfpCamLobes != 0} + field = "Minimum angle", hpfpMinAngle, {hpfpCamLobes != 0} + field = "Activation angle", hpfpActivationAngle, {hpfpCamLobes != 0} + field = "Target decay rate", hpfpTargetDecay, {hpfpCamLobes != 0} + field = "Proportional gain", hpfpPidP, {hpfpCamLobes != 0} + field = "Integral gain", hpfpPidI, {hpfpCamLobes != 0} + panel = hpfpDeadtimeCurve, {hpfpCamLobes != 0} + +[Tools] + ;addTool = toolName, PanelName + addTool = veTableGenerator, "VE Table Generator", veTableTbl +#if LAMBDA +#else + addTool = afrTableGenerator, "AFR Table Generator", afrTableTbl +#endif diff --git a/firmware/tunerstudio/generated/fome_subaru_eg33_f7.ini b/firmware/tunerstudio/generated/fome_subaru_eg33_f7.ini index bcd702f10e..6c6829768f 100644 --- a/firmware/tunerstudio/generated/fome_subaru_eg33_f7.ini +++ b/firmware/tunerstudio/generated/fome_subaru_eg33_f7.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.subaru_eg33_f7.2133657576" + signature = "rusEFI (FOME) master.2023.11.04.subaru_eg33_f7.650907108" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.subaru_eg33_f7.2133657576" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.subaru_eg33_f7.650907108" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",186="A01 - Injector 5",194="A12 - Injector 6",159="AUX0_14 - AUX0 OD output 1",158="AUX0_17 - AUX0 OD output 0",160="B08 - AC clutch",149="C14 - FPump modulator",153="C15 - AUX1 OD out",148="C16 - Tacho out",157="D01 - IDLE close",156="D02 - IDLE open",147="D03 - FAN 2 relay",121="D05 - Self Shutdown",155="D06 - Absorber purge valve",188="D07 - Ignition Cyl 4",198="D08 - Ignition Cyl 2",189="D09 - Ignition Cyl 3",199="D10 - Ignition Cyl 1",185="D11 - Injector 3",192="D12 - Injector 2",184="D13 - Injector 1",197="D16 - Ignition Cyl 6",146="D17 - FAN 1 relay",154="D18 - Auxillary air valve",152="D19 - Check Engine indicator",161="D20 - Inertia-Resonance Super-Charger control",191="D21 - Ignition Cyl 5",151="D22 - EGR control",150="D23 - Fuel Pump relay",193="D26 - Injector 4" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",7="A02 - VBat",15="A03 - Coolant t Ain",10="A04 - EGR t Ain",16="A06 - Oxyg 1 Ain",9="A06 - Oxyg 2 Ain",12="A18 - AUX0 Ain",1="AUX0_18 - MAP Ain",6="AUX0_19 - IAT Ain",13="B02 - TPS Ain",4="B05 - MAF Ain" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",7="A02 - VBat",15="A03 - Coolant t Ain",10="A04 - EGR t Ain",16="A06 - Oxyg 1 Ain",9="A06 - Oxyg 2 Ain",12="A18 - AUX0 Ain",1="AUX0_18 - MAP Ain",6="AUX0_19 - IAT Ain",13="B02 - TPS Ain",4="B05 - MAF Ain" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",7="A02 - VBat",15="A03 - Coolant t Ain",10="A04 - EGR t Ain",16="A06 - Oxyg 1 Ain",9="A06 - Oxyg 2 Ain",12="A18 - AUX0 Ain",1="AUX0_18 - MAP Ain",6="AUX0_19 - IAT Ain",13="B02 - TPS Ain",4="B05 - MAF Ain" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",7="A02 - VBat",15="A03 - Coolant t Ain",10="A04 - EGR t Ain",16="A06 - Oxyg 1 Ain",9="A06 - Oxyg 2 Ain",12="A18 - AUX0 Ain",1="AUX0_18 - MAP Ain",6="AUX0_19 - IAT Ain",13="B02 - TPS Ain",4="B05 - MAF Ain" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",7="A02 - VBat",15="A03 - Coolant t Ain",10="A04 - EGR t Ain",16="A06 - Oxyg 1 Ain",9="A06 - Oxyg 2 Ain",12="A18 - AUX0 Ain",1="AUX0_18 - MAP Ain",6="AUX0_19 - IAT Ain",13="B02 - TPS Ain",4="B05 - MAF Ain" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",7="A02 - VBat",15="A03 - Coolant t Ain",10="A04 - EGR t Ain",16="A06 - Oxyg 1 Ain",9="A06 - Oxyg 2 Ain",12="A18 - AUX0 Ain",1="AUX0_18 - MAP Ain",6="AUX0_19 - IAT Ain",13="B02 - TPS Ain",4="B05 - MAF Ain" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",7="A02 - VBat",15="A03 - Coolant t Ain",10="A04 - EGR t Ain",16="A06 - Oxyg 1 Ain",9="A06 - Oxyg 2 Ain",12="A18 - AUX0 Ain",1="AUX0_18 - MAP Ain",6="AUX0_19 - IAT Ain",13="B02 - TPS Ain",4="B05 - MAF Ain" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",186="A01 - Injector 5",194="A12 - Injector 6",159="AUX0_14 - AUX0 OD output 1",158="AUX0_17 - AUX0 OD output 0",160="B08 - AC clutch",149="C14 - FPump modulator",153="C15 - AUX1 OD out",148="C16 - Tacho out",157="D01 - IDLE close",156="D02 - IDLE open",147="D03 - FAN 2 relay",121="D05 - Self Shutdown",155="D06 - Absorber purge valve",188="D07 - Ignition Cyl 4",198="D08 - Ignition Cyl 2",189="D09 - Ignition Cyl 3",199="D10 - Ignition Cyl 1",185="D11 - Injector 3",192="D12 - Injector 2",184="D13 - Injector 1",197="D16 - Ignition Cyl 6",146="D17 - FAN 1 relay",154="D18 - Auxillary air valve",152="D19 - Check Engine indicator",161="D20 - Inertia-Resonance Super-Charger control",191="D21 - Ignition Cyl 5",151="D22 - EGR control",150="D23 - Fuel Pump relay",193="D26 - Injector 4" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5295,6 +5350,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5390,11 +5450,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5423,6 +5485,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5442,9 +5505,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5696,7 +5776,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5865,6 +5944,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6175,7 +6255,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6185,7 +6266,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6195,7 +6277,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6205,7 +6288,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6255,14 +6339,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6272,14 +6352,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6289,6 +6365,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6397,6 +6529,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6581,11 +6715,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6593,8 +6725,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6615,10 +6745,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6626,8 +6755,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6648,7 +6775,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6907,7 +7033,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7017,10 +7142,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7149,6 +7279,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7159,6 +7299,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7221,7 +7362,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7325,6 +7467,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7333,6 +7480,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7951,12 +8099,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/fome_tdg-pdm8.ini b/firmware/tunerstudio/generated/fome_tdg-pdm8.ini index 5be150ef62..f56d79adbf 100644 --- a/firmware/tunerstudio/generated/fome_tdg-pdm8.ini +++ b/firmware/tunerstudio/generated/fome_tdg-pdm8.ini @@ -33,12 +33,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI (FOME) master.2023.08.28.tdg-pdm8.1890073925" + signature = "rusEFI (FOME) master.2023.11.04.tdg-pdm8.692664137" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI (FOME) master.2023.08.28.tdg-pdm8.1890073925" ; signature is expected to be 7 or more characters. + signature= "rusEFI (FOME) master.2023.11.04.tdg-pdm8.692664137" ; 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,9 +86,9 @@ enable2ndByteCanID = false ; name = scalar, type, offset, units, scale, translate, lo, hi, digits ; CONFIG_DEFINITION_START -pageSize = 22820 +pageSize = 22996 page = 1 -engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",11="ET_UNUSED_11",12="ET_UNUSED_12",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",4="PROTEUS_MIATA_NA6",67="PROTEUS_MIATA_NB2",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" +engineType = bits, S32, 0, [0:6], 0="DEFAULT_FRANKENSO",24="BMW_M73_M",50="BMW_M73_MRE",51="BMW_M73_MRE_SLAVE",35="CAMARO_4",65="CITROEN_TU3JP",38="DISCOVERY_PDM",2="DODGE_NEON_1995",46="DODGE_NEON_2003_CRANK",64="DODGE_RAM",58="ETB_BENCH_ENGINE",13="ET_UNUSED_13",15="ET_UNUSED_15",17="ET_UNUSED_17",33="ET_UNUSED_33",43="ET_UNUSED_43",57="ET_UNUSED_57",61="ET_UNUSED_61",92="ET_UNUSED_92",93="ET_UNUSED_93",97="ET_UNUSED_97",98="ET_UNUSED_98",3="FORD_ASPIRE_1996",14="FORD_ESCORT_GT",7="FORD_INLINE_6_1995",40="FRANKENSO_BMW_M73_F",47="FRANKENSO_MAZDA_MIATA_2003",56="FRANKENSO_MAZDA_MIATA_NA8",41="FRANKENSO_MIATA_NA6_MAP",49="FRANKENSO_QA_ENGINE",8="GY6_139QMB",84="HELLEN_121_NISSAN_4_CYL",72="HELLEN_121_NISSAN_6_CYL",85="HELLEN_121_NISSAN_8_CYL",87="HELLEN_121_NISSAN_ALMERA_N16",71="HELLEN_121_VAG_4_CYL",77="HELLEN_121_VAG_5_CYL",81="HELLEN_121_VAG_8_CYL",78="HELLEN_121_VAG_V6_CYL",79="HELLEN_121_VAG_VR6_CYL",36="HELLEN_128_MERCEDES_4_CYL",88="HELLEN_128_MERCEDES_6_CYL",89="HELLEN_128_MERCEDES_8_CYL",75="HELLEN_134_BMW",82="HELLEN_154_HYUNDAI_COUPE_BK1",95="HELLEN_154_HYUNDAI_COUPE_BK2",76="HELLEN_154_VAG",73="HELLEN_55_BMW",74="HELLEN_88_BMW",34="HELLEN_NA6",10="HELLEN_NA8_96",80="HELLEN_NA94",83="HELLEN_NB1",94="HELLEN_NB1_36",69="HELLEN_NB2",86="HELLEN_NB2_36",60="L9779_BENCH_ENGINE",55="MAZDA_MIATA_2003_BOARD_TEST",54="MAZDA_MIATA_2003_NA_RAIL",21="MIATA_1996",1="MIATA_PROTEUS_TCU",99="MINIMAL_PINS",16="MITSU_4G93",31="MRE_BOARD_NEW_TEST",23="MRE_BODY_CONTROL",68="MRE_M111",20="MRE_MIATA_94_MAP",66="MRE_MIATA_NA6_MAP",37="MRE_SUBARU_EJ18",62="MRE_VW_B6",5="NISSAN_PRIMERA",12="POLYGONUS_MIATA_MSM",4="POLYGONUS_MIATA_NA6",11="POLYGONUS_MIATA_NB1",67="POLYGONUS_MIATA_NB2",30="PROTEUS_ANALOG_PWM_TEST",63="PROTEUS_BMW_M73",9="PROTEUS_E65_6H_MAN_IN_THE_MIDDLE",27="PROTEUS_GM_LS_4",6="PROTEUS_HARLEY",90="PROTEUS_HONDA_K",91="PROTEUS_HONDA_OBD2A",25="PROTEUS_LUA_DEMO",42="PROTEUS_QC_TEST_BOARD",39="PROTEUS_VW_B6",29="SACHS",70="SUBARUEG33_DEFAULTS",22="SUBARU_2003_WRX",100="TEST_100",101="TEST_101",102="TEST_102",18="TEST_33816",28="TEST_CRANK_ENGINE",48="TEST_DC_WASTEGATE_DISCOVERY",26="TEST_ENGINE",45="TEST_ENGINE_VVT",52="TEST_ISSUE_366_BOTH",53="TEST_ISSUE_366_RISE",19="TEST_ROTARY",59="TLE8888_BENCH_ENGINE",44="TOYOTA_2JZ_GTE_VVTi",32="VW_ABA",96="WASTEGATE_PROTEUS_TEST" sensorSnifferRpmThreshold = scalar, U16, 4, "RPM", 1, 0, 0, 10000, 0 launchRpm = scalar, U16, 6, "rpm", 1, 0, 0, 20000, 0 rpmHardLimit = scalar, U16, 8, "rpm", 1, 0, 0, 20000, 0 @@ -116,7 +116,7 @@ disableFan2WhenStopped = bits, U32, 88, [7:7], "false", "true" enableTrailingSparks = bits, U32, 88, [8:8], "false", "true" etb_use_two_wires = bits, U32, 88, [9:9], "false", "true" isDoubleSolenoidIdle = bits, U32, 88, [10:10], "false", "true" -useEeprom = bits, U32, 88, [11:11], "false", "true" +unused88b11 = bits, U32, 88, [11:11], "false", "true" useTLE8888_cranking_hack = bits, U32, 88, [12:12], "false", "true" kickStartCranking = bits, U32, 88, [13:13], "false", "true" useSeparateIdleTablesForCrankingTaper = bits, U32, 88, [14:14], "false", "true" @@ -171,7 +171,7 @@ displacement = scalar, U16, 328, "L", 0.001, 0, 0, 65, 3 triggerSimulatorRpm = scalar, U16, 330, "RPM", 1, 0, 0, 30000, 0 cylindersCount = scalar, U32, 332, "", 1, 0, 1, 12, 0 firingOrder = bits, U08, 336, [0:5], "One Cylinder", "1-3-4-2", "1-2-4-3", "1-3-2-4", "1-5-3-6-2-4", "1-8-4-3-6-5-7-2", "1-2-4-5-3", "1-4-2-5-3-6", "1-2", "1-2-3-4-5-6", "1-2-3", "1-8-7-2-6-5-4-3", "1-5-4-2-6-3-7-8", "1-6-3-2-5-4", "1-10-9-4-3-6-5-8-7_2", "1-7-5-11-3-9-6-12-2-8-4-10", "1-7-4-10-2-8-6-12-3-9-5-11", "1-4-3-2", "1-12-5-8-3-10-6-7-2-11-4-9", "1-2-7-8-4-5-6-3", "1-3-7-2-6-5-4-8", "1-2-3-4-5-6-7-8-9", "INVALID", "1-2-3-4-5-6-7-8-9-10-11-12", "1-3-2", "1-2-3-4-5-6-7-8", "1-5-4-8-6-3-7-2", "1-4-3-6-2-5", "1-8-7-3-6-5-4-2", "1-6-2-4-3-5", "1-6-5-4-3-2", "1-4-5-2-3-6", "fo32", "fo33", "fo34", "fo35", "fo36", "fo37" -unusedOldBenchTest = scalar, U08, 337, "", 1, 0, 0, 100, 0 +vvtBumpAmount = scalar, U08, 337, "deg", 1, 0, -30, 30, 0 benchTestOnTime = scalar, U16, 338, "ms", 0.01, 0, 0, 500, 2 cylinderBore = scalar, F32, 340, "mm", 1, 0, 0, 20000, 2 fuelAlgorithm = bits, U08, 344, [0:2], "Speed Density", "MAF Air Charge", "Alpha-N", "Lua" @@ -397,7 +397,7 @@ lambdaProtectionTimeout = scalar, U08, 749, "s", 0.1, 0, 0, 10, 1 lambdaProtectionRestoreRpm = scalar, U08, 750, "RPM", 100.0, 0, 0, 25000, 0 acRelayPinMode = bits, U08, 751, [0:1], "default", "default inverted", "open collector", "open collector inverted" acRelayPin = bits, U16, 752, [0:7], 0="NONE",257="Out 1",258="Out 2",259="Out 3",260="Out 4",261="Out 5",262="Out 6",263="Out 7",264="Out 8" -mafSensorType = bits, S08, 754, [0:1], "v0", "v1", "v2", "v3" +unused754 = scalar, U08, 754, "", 1, 0, 0, 100, 0 drv8860spiDevice = bits, U08, 755, [0:2], "Off", "SPI1", "SPI2", "SPI3", "SPI4" scriptSetting1 = scalar, F32, 756, "", 1, 0, 0, 18000, 2 scriptSetting2 = scalar, F32, 760, "", 1, 0, 0, 18000, 2 @@ -425,12 +425,12 @@ multisparkEnable = bits, U32, 808, [3:3], "false", "true" enableLaunchRetard = bits, U32, 808, [4:4], "false", "true" enableCanVss = bits, U32, 808, [5:5], "false", "true" enableInnovateLC2 = bits, U32, 808, [6:6], "false", "true" -showHumanReadableWarning = bits, U32, 808, [7:7], "false", "true" +unused808b7 = bits, U32, 808, [7:7], "false", "true" stftIgnoreErrorMagnitude = bits, U32, 808, [8:8], "false", "true" enableSoftwareKnock = bits, U32, 808, [9:9], "false", "true" verboseVVTDecoding = bits, U32, 808, [10:10], "false", "true" invertCamVVTSignal = bits, U32, 808, [11:11], "false", "true" -unused804b12 = bits, U32, 808, [12:12], "false", "true" +alphaNUseIat = bits, U32, 808, [12:12], "false", "true" knockBankCyl1 = bits, U32, 808, [13:13], "Channel 1", "Channel 2" knockBankCyl2 = bits, U32, 808, [14:14], "Channel 1", "Channel 2" knockBankCyl3 = bits, U32, 808, [15:15], "Channel 1", "Channel 2" @@ -549,7 +549,7 @@ tps2SecondaryMin = scalar, U16, 1188, "ADC", 1, 0, 0, 1000, 0 tps2SecondaryMax = scalar, U16, 1190, "ADC", 1, 0, 0, 1000, 0 widebandOnSecondBus = bits, U32, 1192, [0:0], "1", "2" fuelClosedLoopCorrectionEnabled = bits, U32, 1192, [1:1], "false", "true" -isVerboseIAC = bits, U32, 1192, [2:2], "false", "true" +unused1192b2 = bits, U32, 1192, [2:2], "false", "true" boardUseTachPullUp = bits, U32, 1192, [3:3], "5v", "12v" boardUseTempPullUp = bits, U32, 1192, [4:4], "Piggyback Mode", "With Pull Ups" yesUnderstandLocking = bits, U32, 1192, [5:5], "no", "yes" @@ -741,8 +741,8 @@ vvtOutputFrequency = scalar, U16, 1536, "Hz", 1, 0, 0, 3000, 0 minimumIgnitionTiming = scalar, S08, 1538, "deg BTDC", 1, 0, -90, 90, 0 maximumIgnitionTiming = scalar, S08, 1539, "deg BTDC", 1, 0, -90, 90, 0 alternatorPwmFrequency = scalar, S32, 1540, "Hz", 1, 0, 0, 3000, 0 -vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" -vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode1 = bits, U08, 1544, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" +vvtMode2 = bits, U08, 1545, [0:5], "Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63" fan2ExtraIdle = scalar, U08, 1546, "%", 1, 0, 0, 100, 0 primingDelay = scalar, U08, 1547, "sec", 0.01, 0, 0, 1, 2 auxAnalogInputs1 = bits, U08, 1548, [0:5], 0="NONE",5="Battery Sense",11="Sense 1",12="Sense 2",13="Sense 3",14="Sense 4",15="Sense 5",16="Sense 6",9="Sense 7",10="Sense 8" @@ -1154,252 +1154,291 @@ luaDigitalInputPinModes8 = bits, U08, 3599, [0:1], "DEFAULT", "PULLUP", "PULLDOW rpmHardLimitHyst = scalar, U08, 3600, "RPM", 10.0, 0, 0, 2500, 0 ignTestCount = scalar, U08, 3601, "", 1, 0, 0, 50, 0 ignTestOffTime = scalar, U08, 3602, "ms", 5.0, 0, 0, 2000, 0 -mainUnusedEnd = array, U08, 3603, [93], "units", 1, 0, 0, 1, 0 -etbBiasBins = array, F32, 3696, [8], "target TPS position", 1, 0, 0, 100, 0 -etbBiasValues = array, F32, 3728, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 -iacPidMultTable = array, U08, 3760, [8x8], "%", 0.05, 0, 0, 10, 2 -iacPidMultLoadBins = array, U08, 3824, [8], "Load", 1, 0, 0, 500, 2 -iacPidMultRpmBins = array, U08, 3832, [8], "RPM", 10.0, 0, 0, 2500, 0 -sparkDwellRpmBins = array, U16, 3840, [8], "RPM", 1, 0, 0, 25000, 0 -sparkDwellValues = array, U16, 3856, [8], "ms", 0.01, 0, 0, 30, 2 -cltIdleRpmBins = array, S08, 3872, [16], "C", 2.0, 0, -40, 200, 0 -cltIdleRpm = array, U08, 3888, [16], "RPM", 20.0, 0, 0, 5000, 0 -cltTimingBins = array, F32, 3904, [8], "C", 1, 0, -100, 250, 1 -cltTimingExtra = array, F32, 3936, [8], "degree", 1, 0, -400, 400, 0 -scriptCurve1Bins = array, F32, 3968, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve1 = array, F32, 4032, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve2Bins = array, F32, 4096, [16], "x", 1, 0, -10000, 10000, 3 -scriptCurve2 = array, F32, 4160, [16], "y", 1, 0, -10000, 10000, 3 -scriptCurve3Bins = array, F32, 4224, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve3 = array, F32, 4256, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve4Bins = array, F32, 4288, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve4 = array, F32, 4320, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve5Bins = array, F32, 4352, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve5 = array, F32, 4384, [8], "y", 1, 0, -10000, 10000, 3 -scriptCurve6Bins = array, F32, 4416, [8], "x", 1, 0, -10000, 10000, 3 -scriptCurve6 = array, F32, 4448, [8], "y", 1, 0, -10000, 10000, 3 -baroCorrPressureBins = array, F32, 4480, [4], "kPa", 1, 0, 0, 200, 2 -baroCorrRpmBins = array, F32, 4496, [4], "RPM", 1, 0, 0, 18000, 0 -baroCorrTable = array, F32, 4512, [4x4], "ratio", 1, 0, 0, 2, 2 -crankingTpsCoef = array, F32, 4576, [8], "Ratio", 1, 0, 0, 700, 2 -crankingTpsBins = array, F32, 4608, [8], "%", 1, 0, 0, 100, 2 -crankingAdvanceBins = array, U16, 4640, [4], "RPM", 1, 0, 0, 25000, 0 -crankingAdvance = array, S16, 4648, [4], "deg", 0.01, 0, -20, 90, 2 -iacCoastingRpmBins = array, U08, 4656, [16], "RPM", 100.0, 0, 0, 25000, 0 -iacCoasting = array, U08, 4672, [16], "%", 0.5, 0, 0, 100, 1 -warning_message = string, ASCII, 4688, 120 -afterstartCoolantBins = array, F32, 4808, [8], "C", 1, 0, -100, 250, 0 -afterstartHoldTime = array, F32, 4840, [8], "Seconds", 1, 0, 0, 100, 1 -afterstartEnrich = array, F32, 4872, [8], "%", 1, 0, 0, 600, 1 -afterstartDecayTime = array, F32, 4904, [8], "Seconds", 1, 0, 0, 100, 1 -boostTableOpenLoop = array, U08, 4936, [8x8], "", 0.5, 0, 0, 100, 1 -boostRpmBins = array, U08, 5000, [8], "RPM", 100.0, 0, 0, 25000, 0 -boostTableClosedLoop = array, U08, 5008, [8x8], "", 2.0, 0, 0, 3000, 0 -boostTpsBins = array, U08, 5072, [8], "%", 1, 0, 0, 100, 0 -pedalToTpsTable = array, U08, 5080, [8x8], "%", 1, 0, 0, 100, 0 -pedalToTpsPedalBins = array, U08, 5144, [8], "%", 1, 0, 0, 120, 0 -pedalToTpsRpmBins = array, U08, 5152, [8], "RPM", 100.0, 0, 0, 25000, 0 -cltCrankingCorrBins = array, F32, 5160, [8], "C", 1, 0, -100, 250, 2 -cltCrankingCorr = array, F32, 5192, [8], "%", 1, 0, 0, 500, 2 -idleAdvanceBins = array, U08, 5224, [8], "RPM", 50.0, 0, 0, 12000, 0 -idleAdvance = array, F32, 5232, [8], "deg", 1, 0, -20, 90, 1 -idleVeRpmBins = array, U08, 5264, [4], "RPM", 10.0, 0, 0, 2500, 0 -idleVeLoadBins = array, U08, 5268, [4], "load", 1, 0, 0, 100, 0 -idleVeTable = array, U16, 5272, [4x4], "%", 0.1, 0, 0, 999, 1 -luaScript = string, ASCII, 5304, 8000 -cltFuelCorrBins = array, F32, 13304, [16], "C", 1, 0, -100, 250, 2 -cltFuelCorr = array, F32, 13368, [16], "ratio", 1, 0, 0, 5, 2 -iatFuelCorrBins = array, F32, 13432, [16], "C", 1, 0, -100, 250, 2 -iatFuelCorr = array, F32, 13496, [16], "ratio", 1, 0, 0, 5, 2 -crankingFuelCoef = array, F32, 13560, [8], "ratio", 1, 0, 0, 50, 2 -crankingFuelBins = array, F32, 13592, [8], "C", 1, 0, -80, 170, 2 -crankingCycleCoef = array, F32, 13624, [8], "ratio", 1, 0, 0, 5, 2 -crankingCycleBins = array, F32, 13656, [8], "counter", 1, 0, -80, 170, 0 -cltIdleCorrBins = array, F32, 13688, [16], "C", 1, 0, -100, 250, 2 -cltIdleCorr = array, F32, 13752, [16], "ratio", 1, 0, 0, 10, 2 -mafDecoding = array, F32, 13816, [256], "kg/hour", 1, 0, -500, 4000, 2 -mafDecodingBins = array, F32, 14840, [256], "V", 1, 0, -5, 150, 2 -ignitionIatCorrTable = array, S08, 15864, [8x8], "deg", 0.1, 0, -25, 25, 1 -ignitionIatCorrTempBins = array, S08, 15928, [8], "C", 1, 0, -40, 120, 0 -ignitionIatCorrLoadBins = array, U08, 15936, [8], "Load", 5.0, 0, 0, 1000, 0 -injectionPhase = array, S16, 15944, [16x16], "deg", 1, 0, -720, 720, 0 -injPhaseLoadBins = array, U16, 16456, [16], "Load", 1, 0, 0, 1000, 0 -injPhaseRpmBins = array, U16, 16488, [16], "RPM", 1, 0, 0, 18000, 0 -tcuSolenoidTable = array, U08, 16520, [6x10], "onoff", 1, 0, 0, 1, 0 -mapEstimateTable = array, U16, 16580, [16x16], "kPa", 0.01, 0, 0, 600, 2 -mapEstimateTpsBins = array, U16, 17092, [16], "% TPS", 0.01, 0, 0, 100, 1 -mapEstimateRpmBins = array, U16, 17124, [16], "RPM", 1, 0, 0, 18000, 0 -vvtTable1 = array, S08, 17156, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable1LoadBins = array, U16, 17220, [8], "L", 1, 0, 0, 1000, 0 -vvtTable1RpmBins = array, U16, 17236, [8], "RPM", 1, 0, 0, 18000, 0 -vvtTable2 = array, S08, 17252, [8x8], "value", 1, 0, -125, 125, 0 -vvtTable2LoadBins = array, U16, 17316, [8], "L", 1, 0, 0, 1000, 0 -vvtTable2RpmBins = array, U16, 17332, [8], "RPM", 1, 0, 0, 18000, 0 -ignitionTable = array, S16, 17348, [16x16], "deg", 0.1, 0, -20, 90, 1 -ignitionLoadBins = array, U16, 17860, [16], "Load", 1, 0, 0, 1000, 0 -ignitionRpmBins = array, U16, 17892, [16], "RPM", 1, 0, 0, 18000, 0 -veTable = array, U16, 17924, [16x16], "%", 0.1, 0, 0, 999, 1 -veLoadBins = array, U16, 18436, [16], "kPa", 1, 0, 0, 1000, 0 -veRpmBins = array, U16, 18468, [16], "RPM", 1, 0, 0, 18000, 0 +canVssScaling = scalar, U16, 3604, "ratio", 1.0E-4, 0, 0.5, 1.5, 4 +oilTempSensor_tempC_1 = scalar, S32, 3608, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_2 = scalar, S32, 3612, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_tempC_3 = scalar, S32, 3616, "*C", 0.01, 0, -40, 200, 1 +oilTempSensor_resistance_1 = scalar, U32, 3620, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_2 = scalar, U32, 3624, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_resistance_3 = scalar, U32, 3628, "Ohm", 0.01, 0, 0, 200000, 1 +oilTempSensor_bias_resistor = scalar, U32, 3632, "Ohm", 0.1, 0, 0, 200000, 1 +oilTempSensor_adcChannel = bits, U08, 3636, [0:5], 0="NONE",5="Battery Sense",11="Sense 1",12="Sense 2",13="Sense 3",14="Sense 4",15="Sense 5",16="Sense 6",9="Sense 7",10="Sense 8" +fuelTempSensor_tempC_1 = scalar, S32, 3640, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_2 = scalar, S32, 3644, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_tempC_3 = scalar, S32, 3648, "*C", 0.01, 0, -40, 200, 1 +fuelTempSensor_resistance_1 = scalar, U32, 3652, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_2 = scalar, U32, 3656, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_resistance_3 = scalar, U32, 3660, "Ohm", 0.01, 0, 0, 200000, 1 +fuelTempSensor_bias_resistor = scalar, U32, 3664, "Ohm", 0.1, 0, 0, 200000, 1 +fuelTempSensor_adcChannel = bits, U08, 3668, [0:5], 0="NONE",5="Battery Sense",11="Sense 1",12="Sense 2",13="Sense 3",14="Sense 4",15="Sense 5",16="Sense 6",9="Sense 7",10="Sense 8" +ambientTempSensor_tempC_1 = scalar, S32, 3672, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_2 = scalar, S32, 3676, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_tempC_3 = scalar, S32, 3680, "*C", 0.01, 0, -40, 200, 1 +ambientTempSensor_resistance_1 = scalar, U32, 3684, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_2 = scalar, U32, 3688, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_resistance_3 = scalar, U32, 3692, "Ohm", 0.01, 0, 0, 200000, 1 +ambientTempSensor_bias_resistor = scalar, U32, 3696, "Ohm", 0.1, 0, 0, 200000, 1 +ambientTempSensor_adcChannel = bits, U08, 3700, [0:5], 0="NONE",5="Battery Sense",11="Sense 1",12="Sense 2",13="Sense 3",14="Sense 4",15="Sense 5",16="Sense 6",9="Sense 7",10="Sense 8" +compressorDischargeTemperature_tempC_1 = scalar, S32, 3704, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_2 = scalar, S32, 3708, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_tempC_3 = scalar, S32, 3712, "*C", 0.01, 0, -40, 200, 1 +compressorDischargeTemperature_resistance_1 = scalar, U32, 3716, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_2 = scalar, U32, 3720, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_resistance_3 = scalar, U32, 3724, "Ohm", 0.01, 0, 0, 200000, 1 +compressorDischargeTemperature_bias_resistor = scalar, U32, 3728, "Ohm", 0.1, 0, 0, 200000, 1 +compressorDischargeTemperature_adcChannel = bits, U08, 3732, [0:5], 0="NONE",5="Battery Sense",11="Sense 1",12="Sense 2",13="Sense 3",14="Sense 4",15="Sense 5",16="Sense 6",9="Sense 7",10="Sense 8" +throttleInletPressureChannel = bits, U08, 3736, [0:5], 0="NONE",5="Battery Sense",11="Sense 1",12="Sense 2",13="Sense 3",14="Sense 4",15="Sense 5",16="Sense 6",9="Sense 7",10="Sense 8" +compressorDischargePressureChannel = bits, U08, 3737, [0:5], 0="NONE",5="Battery Sense",11="Sense 1",12="Sense 2",13="Sense 3",14="Sense 4",15="Sense 5",16="Sense 6",9="Sense 7",10="Sense 8" +maxInjectorDutyInstant = scalar, U08, 3738, "%", 1, 0, 50, 200, 0 +maxInjectorDutySustained = scalar, U08, 3739, "%", 1, 0, 50, 120, 0 +maxInjectorDutySustainedTimeout = scalar, U08, 3740, "sec", 0.1, 0, 0, 5, 1 +speedometerOutputPin = bits, U16, 3742, [0:7], 0="NONE",257="Out 1",258="Out 2",259="Out 3",260="Out 4",261="Out 5",262="Out 6",263="Out 7",264="Out 8" +speedometerPulsePerKm = scalar, U16, 3744, "", 1, 0, 0, 65000, 0 +mainUnusedEnd = array, U08, 3746, [246], "units", 1, 0, 0, 1, 0 +etbBiasBins = array, F32, 3992, [8], "target TPS position", 1, 0, 0, 100, 0 +etbBiasValues = array, F32, 4024, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 +iacPidMultTable = array, U08, 4056, [8x8], "%", 0.05, 0, 0, 10, 2 +iacPidMultLoadBins = array, U08, 4120, [8], "Load", 1, 0, 0, 500, 2 +iacPidMultRpmBins = array, U08, 4128, [8], "RPM", 10.0, 0, 0, 2500, 0 +sparkDwellRpmBins = array, U16, 4136, [8], "RPM", 1, 0, 0, 25000, 0 +sparkDwellValues = array, U16, 4152, [8], "ms", 0.01, 0, 0, 30, 2 +cltIdleRpmBins = array, S08, 4168, [16], "C", 2.0, 0, -40, 200, 0 +cltIdleRpm = array, U08, 4184, [16], "RPM", 20.0, 0, 0, 5000, 0 +cltTimingBins = array, F32, 4200, [8], "C", 1, 0, -100, 250, 1 +cltTimingExtra = array, F32, 4232, [8], "degree", 1, 0, -400, 400, 0 +scriptCurve1Bins = array, F32, 4264, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve1 = array, F32, 4328, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve2Bins = array, F32, 4392, [16], "x", 1, 0, -10000, 10000, 3 +scriptCurve2 = array, F32, 4456, [16], "y", 1, 0, -10000, 10000, 3 +scriptCurve3Bins = array, F32, 4520, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve3 = array, F32, 4552, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve4Bins = array, F32, 4584, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve4 = array, F32, 4616, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve5Bins = array, F32, 4648, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve5 = array, F32, 4680, [8], "y", 1, 0, -10000, 10000, 3 +scriptCurve6Bins = array, F32, 4712, [8], "x", 1, 0, -10000, 10000, 3 +scriptCurve6 = array, F32, 4744, [8], "y", 1, 0, -10000, 10000, 3 +baroCorrPressureBins = array, F32, 4776, [4], "kPa", 1, 0, 0, 200, 2 +baroCorrRpmBins = array, F32, 4792, [4], "RPM", 1, 0, 0, 18000, 0 +baroCorrTable = array, F32, 4808, [4x4], "ratio", 1, 0, 0, 2, 2 +crankingTpsCoef = array, F32, 4872, [8], "Ratio", 1, 0, 0, 700, 2 +crankingTpsBins = array, F32, 4904, [8], "%", 1, 0, 0, 100, 2 +crankingAdvanceBins = array, U16, 4936, [4], "RPM", 1, 0, 0, 25000, 0 +crankingAdvance = array, S16, 4944, [4], "deg", 0.01, 0, -20, 90, 2 +iacCoastingRpmBins = array, U08, 4952, [16], "RPM", 100.0, 0, 0, 25000, 0 +iacCoasting = array, U08, 4968, [16], "%", 0.5, 0, 0, 100, 1 +afterstartCoolantBins = array, F32, 4984, [8], "C", 1, 0, -100, 250, 0 +afterstartHoldTime = array, F32, 5016, [8], "Seconds", 1, 0, 0, 100, 1 +afterstartEnrich = array, F32, 5048, [8], "%", 1, 0, 0, 600, 1 +afterstartDecayTime = array, F32, 5080, [8], "Seconds", 1, 0, 0, 100, 1 +boostTableOpenLoop = array, U08, 5112, [8x8], "", 0.5, 0, 0, 100, 1 +boostRpmBins = array, U08, 5176, [8], "RPM", 100.0, 0, 0, 25000, 0 +boostTableClosedLoop = array, U08, 5184, [8x8], "", 2.0, 0, 0, 3000, 0 +boostTpsBins = array, U08, 5248, [8], "%", 1, 0, 0, 100, 0 +pedalToTpsTable = array, U08, 5256, [8x8], "%", 1, 0, 0, 100, 0 +pedalToTpsPedalBins = array, U08, 5320, [8], "%", 1, 0, 0, 120, 0 +pedalToTpsRpmBins = array, U08, 5328, [8], "RPM", 100.0, 0, 0, 25000, 0 +cltCrankingCorrBins = array, F32, 5336, [8], "C", 1, 0, -100, 250, 2 +cltCrankingCorr = array, F32, 5368, [8], "%", 1, 0, 0, 500, 2 +idleAdvanceBins = array, U08, 5400, [8], "RPM", 50.0, 0, 0, 12000, 0 +idleAdvance = array, F32, 5408, [8], "deg", 1, 0, -20, 90, 1 +idleVeRpmBins = array, U08, 5440, [4], "RPM", 10.0, 0, 0, 2500, 0 +idleVeLoadBins = array, U08, 5444, [4], "load", 1, 0, 0, 100, 0 +idleVeTable = array, U16, 5448, [4x4], "%", 0.1, 0, 0, 999, 1 +luaScript = string, ASCII, 5480, 8000 +cltFuelCorrBins = array, F32, 13480, [16], "C", 1, 0, -100, 250, 2 +cltFuelCorr = array, F32, 13544, [16], "ratio", 1, 0, 0, 5, 2 +iatFuelCorrBins = array, F32, 13608, [16], "C", 1, 0, -100, 250, 2 +iatFuelCorr = array, F32, 13672, [16], "ratio", 1, 0, 0, 5, 2 +crankingFuelCoef = array, F32, 13736, [8], "ratio", 1, 0, 0, 50, 2 +crankingFuelBins = array, F32, 13768, [8], "C", 1, 0, -80, 170, 2 +crankingCycleCoef = array, F32, 13800, [8], "ratio", 1, 0, 0, 5, 2 +crankingCycleBins = array, F32, 13832, [8], "counter", 1, 0, -80, 170, 0 +cltIdleCorrBins = array, F32, 13864, [16], "C", 1, 0, -100, 250, 2 +cltIdleCorr = array, F32, 13928, [16], "ratio", 1, 0, 0, 10, 2 +mafDecoding = array, F32, 13992, [256], "kg/hour", 1, 0, -500, 4000, 2 +mafDecodingBins = array, F32, 15016, [256], "V", 1, 0, -5, 150, 2 +ignitionIatCorrTable = array, S08, 16040, [8x8], "deg", 0.1, 0, -25, 25, 1 +ignitionIatCorrTempBins = array, S08, 16104, [8], "C", 1, 0, -40, 120, 0 +ignitionIatCorrLoadBins = array, U08, 16112, [8], "Load", 5.0, 0, 0, 1000, 0 +injectionPhase = array, S16, 16120, [16x16], "deg", 1, 0, -720, 720, 0 +injPhaseLoadBins = array, U16, 16632, [16], "Load", 1, 0, 0, 1000, 0 +injPhaseRpmBins = array, U16, 16664, [16], "RPM", 1, 0, 0, 18000, 0 +tcuSolenoidTable = array, U08, 16696, [6x10], "onoff", 1, 0, 0, 1, 0 +mapEstimateTable = array, U16, 16756, [16x16], "kPa", 0.01, 0, 0, 600, 2 +mapEstimateTpsBins = array, U16, 17268, [16], "% TPS", 0.01, 0, 0, 100, 1 +mapEstimateRpmBins = array, U16, 17300, [16], "RPM", 1, 0, 0, 18000, 0 +vvtTable1 = array, S08, 17332, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable1LoadBins = array, U16, 17396, [8], "L", 1, 0, 0, 1000, 0 +vvtTable1RpmBins = array, U16, 17412, [8], "RPM", 1, 0, 0, 18000, 0 +vvtTable2 = array, S08, 17428, [8x8], "value", 1, 0, -125, 125, 0 +vvtTable2LoadBins = array, U16, 17492, [8], "L", 1, 0, 0, 1000, 0 +vvtTable2RpmBins = array, U16, 17508, [8], "RPM", 1, 0, 0, 18000, 0 +ignitionTable = array, S16, 17524, [16x16], "deg", 0.1, 0, -20, 90, 1 +ignitionLoadBins = array, U16, 18036, [16], "Load", 1, 0, 0, 1000, 0 +ignitionRpmBins = array, U16, 18068, [16], "RPM", 1, 0, 0, 18000, 0 +veTable = array, U16, 18100, [16x16], "%", 0.1, 0, 0, 999, 1 +veLoadBins = array, U16, 18612, [16], "kPa", 1, 0, 0, 1000, 0 +veRpmBins = array, U16, 18644, [16], "RPM", 1, 0, 0, 18000, 0 #if LAMBDA -lambdaTable = array, U08, 18500, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 +lambdaTable = array, U08, 18676, [16x16], "lambda", 0.006802721088435374, 0, 0.6, 1.5, 2 #else -lambdaTable = array, U08, 18500, [16x16], "afr", 0.1, 0, 0, 25, 1 +lambdaTable = array, U08, 18676, [16x16], "afr", 0.1, 0, 0, 25, 1 #endif -lambdaLoadBins = array, U16, 18756, [16], "", 1, 0, 0, 1000, 0 -lambdaRpmBins = array, U16, 18788, [16], "RPM", 1, 0, 0, 18000, 0 -tpsTpsAccelTable = array, F32, 18820, [8x8], "value", 1, 0, 0, 30000, 2 -tpsTpsAccelFromRpmBins = array, F32, 19076, [8], "from", 1, 0, 0, 30000, 2 -tpsTpsAccelToRpmBins = array, F32, 19108, [8], "to", 1, 0, 0, 25500, 2 -scriptTable1 = array, F32, 19140, [8x8], "value", 1, 0, -100000, 100000, 2 -scriptTable1LoadBins = array, S16, 19396, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable1RpmBins = array, S16, 19412, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable2 = array, U08, 19428, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable2LoadBins = array, S16, 19492, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable2RpmBins = array, S16, 19508, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable3 = array, U08, 19524, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable3LoadBins = array, S16, 19588, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable3RpmBins = array, S16, 19604, [8], "RPM", 1, 0, -32000, 32000, 0 -scriptTable4 = array, U08, 19620, [8x8], "value", 1, 0, 0, 255, 0 -scriptTable4LoadBins = array, S16, 19684, [8], "L", 1, 0, -32000, 32000, 0 -scriptTable4RpmBins = array, S16, 19700, [8], "RPM", 1, 0, -32000, 32000, 0 -ignTrimLoadBins = array, U16, 19716, [4], "", 1, 0, 0, 1000, 0 -ignTrimRpmBins = array, U16, 19724, [4], "rpm", 1, 0, 0, 20000, 0 -ignTrims1_table = array, S08, 19732, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims2_table = array, S08, 19748, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims3_table = array, S08, 19764, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims4_table = array, S08, 19780, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims5_table = array, S08, 19796, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims6_table = array, S08, 19812, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims7_table = array, S08, 19828, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims8_table = array, S08, 19844, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims9_table = array, S08, 19860, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims10_table = array, S08, 19876, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims11_table = array, S08, 19892, [4x4], "", 0.2, 0, -25, 25, 1 -ignTrims12_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrimLoadBins = array, U16, 19924, [4], "", 1, 0, 0, 1000, 0 -fuelTrimRpmBins = array, U16, 19932, [4], "rpm", 1, 0, 0, 20000, 0 -fuelTrims1_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims2_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims3_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims4_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims5_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims6_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims7_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims8_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims9_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims10_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims11_table = array, S08, 20100, [4x4], "", 0.2, 0, -25, 25, 1 -fuelTrims12_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 -crankingFuelCoefE100 = array, U16, 20132, [8], "ratio", 0.01, 0, 0, 50, 2 -tcu_pcAirmassBins = array, U08, 20148, [8], "Airmass", 0.02, 0, 0, 255, 2 -tcu_pcValsR = array, U08, 20156, [8], "%", 1, 0, 0, 255, 0 -tcu_pcValsN = array, U08, 20164, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals1 = array, U08, 20172, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals2 = array, U08, 20180, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals3 = array, U08, 20188, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals4 = array, U08, 20196, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals12 = array, U08, 20204, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals23 = array, U08, 20212, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals34 = array, U08, 20220, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals21 = array, U08, 20228, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals32 = array, U08, 20236, [8], "%", 1, 0, 0, 255, 0 -tcu_pcVals43 = array, U08, 20244, [8], "%", 1, 0, 0, 255, 0 -tcu_tccTpsBins = array, U08, 20252, [8], "TPS", 1, 0, 0, 255, 0 -tcu_tccLockSpeed = array, U08, 20260, [8], "MPH", 1, 0, 0, 255, 0 -tcu_tccUnlockSpeed = array, U08, 20268, [8], "MPH", 1, 0, 0, 255, 0 -tcu_32SpeedBins = array, U08, 20276, [8], "KPH", 1, 0, 0, 255, 0 -tcu_32Vals = array, U08, 20284, [8], "%", 1, 0, 0, 255, 0 -throttle2TrimTable = array, S08, 20292, [6x6], "%", 0.1, 0, -10, 10, 1 -throttle2TrimTpsBins = array, U08, 20328, [6], "%", 1, 0, 0, 120, 0 -throttle2TrimRpmBins = array, U08, 20334, [6], "RPM", 100.0, 0, 0, 25000, 0 -maxKnockRetardTable = array, U08, 20340, [6x6], "deg", 0.25, 0, 0, 30, 2 -maxKnockRetardLoadBins = array, U08, 20376, [6], "%", 1, 0, 0, 250, 0 -maxKnockRetardRpmBins = array, U08, 20382, [6], "RPM", 100.0, 0, 0, 25000, 0 -ALSTimingRetardTable = array, S16, 20388, [4x4], "deg", 0.1, 0, -720, 720, 1 -alsIgnRetardLoadBins = array, U16, 20420, [4], "TPS", 1, 0, 0, 100, 0 -alsIgnRetardrpmBins = array, U16, 20428, [4], "RPM", 1, 0, 0, 25000, 0 -ALSFuelAdjustment = array, S16, 20436, [4x4], "percent", 0.1, 0, 0, 500, 1 -alsFuelAdjustmentLoadBins = array, U16, 20468, [4], "TPS", 1, 0, 0, 100, 0 -alsFuelAdjustmentrpmBins = array, U16, 20476, [4], "RPM", 1, 0, 0, 25000, 0 -ignBlends1_table = array, S16, 20484, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends1_loadBins = array, U16, 20612, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends1_rpmBins = array, U16, 20628, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends1_blendParameter = bits, U08, 20644, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends1_blendBins = array, S16, 20646, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends1_blendValues = array, U08, 20662, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends2_table = array, S16, 20672, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends2_loadBins = array, U16, 20800, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends2_rpmBins = array, U16, 20816, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends2_blendParameter = bits, U08, 20832, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends2_blendBins = array, S16, 20834, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends2_blendValues = array, U08, 20850, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends3_table = array, S16, 20860, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends3_loadBins = array, U16, 20988, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends3_rpmBins = array, U16, 21004, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends3_blendParameter = bits, U08, 21020, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends3_blendBins = array, S16, 21022, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends3_blendValues = array, U08, 21038, [8], "%", 0.5, 0, 0, 100, 1 -ignBlends4_table = array, S16, 21048, [8x8], "", 0.1, 0, -100, 100, 1 -ignBlends4_loadBins = array, U16, 21176, [8], "Load", 1, 0, 0, 1000, 0 -ignBlends4_rpmBins = array, U16, 21192, [8], "RPM", 1, 0, 0, 18000, 0 -ignBlends4_blendParameter = bits, U08, 21208, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -ignBlends4_blendBins = array, S16, 21210, [8], "", 0.1, 0, -1000, 1000, 1 -ignBlends4_blendValues = array, U08, 21226, [8], "%", 0.5, 0, 0, 100, 1 -veBlends1_table = array, S16, 21236, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends1_loadBins = array, U16, 21364, [8], "Load", 1, 0, 0, 1000, 0 -veBlends1_rpmBins = array, U16, 21380, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends1_blendParameter = bits, U08, 21396, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends1_blendBins = array, S16, 21398, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends1_blendValues = array, U08, 21414, [8], "%", 0.5, 0, 0, 100, 1 -veBlends2_table = array, S16, 21424, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends2_loadBins = array, U16, 21552, [8], "Load", 1, 0, 0, 1000, 0 -veBlends2_rpmBins = array, U16, 21568, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends2_blendParameter = bits, U08, 21584, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends2_blendBins = array, S16, 21586, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends2_blendValues = array, U08, 21602, [8], "%", 0.5, 0, 0, 100, 1 -veBlends3_table = array, S16, 21612, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends3_loadBins = array, U16, 21740, [8], "Load", 1, 0, 0, 1000, 0 -veBlends3_rpmBins = array, U16, 21756, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends3_blendParameter = bits, U08, 21772, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends3_blendBins = array, S16, 21774, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends3_blendValues = array, U08, 21790, [8], "%", 0.5, 0, 0, 100, 1 -veBlends4_table = array, S16, 21800, [8x8], "", 0.1, 0, -100, 100, 1 -veBlends4_loadBins = array, U16, 21928, [8], "Load", 1, 0, 0, 1000, 0 -veBlends4_rpmBins = array, U16, 21944, [8], "RPM", 1, 0, 0, 18000, 0 -veBlends4_blendParameter = bits, U08, 21960, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -veBlends4_blendBins = array, S16, 21962, [8], "", 0.1, 0, -1000, 1000, 1 -veBlends4_blendValues = array, U08, 21978, [8], "%", 0.5, 0, 0, 100, 1 -throttleEstimateEffectiveAreaBins = array, U16, 21988, [12], "%", 0.1, 0, 0, 100, 1 -throttleEstimateEffectiveAreaValues = array, U16, 22012, [12], "g/s", 0.1, 0, 0, 6500, 1 -boostOpenLoopBlends1_table = array, S16, 22036, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends1_loadBins = array, U16, 22164, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends1_rpmBins = array, U16, 22180, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends1_blendParameter = bits, U08, 22196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends1_blendBins = array, S16, 22198, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends1_blendValues = array, U08, 22214, [8], "%", 0.5, 0, 0, 100, 1 -boostOpenLoopBlends2_table = array, S16, 22224, [8x8], "", 0.1, 0, -100, 100, 1 -boostOpenLoopBlends2_loadBins = array, U16, 22352, [8], "Load", 1, 0, 0, 1000, 0 -boostOpenLoopBlends2_rpmBins = array, U16, 22368, [8], "RPM", 1, 0, 0, 18000, 0 -boostOpenLoopBlends2_blendParameter = bits, U08, 22384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostOpenLoopBlends2_blendBins = array, S16, 22386, [8], "", 0.1, 0, -1000, 1000, 1 -boostOpenLoopBlends2_blendValues = array, U08, 22402, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends1_table = array, S16, 22412, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends1_loadBins = array, U16, 22540, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends1_rpmBins = array, U16, 22556, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends1_blendParameter = bits, U08, 22572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends1_blendBins = array, S16, 22574, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends1_blendValues = array, U08, 22590, [8], "%", 0.5, 0, 0, 100, 1 -boostClosedLoopBlends2_table = array, S16, 22600, [8x8], "", 0.1, 0, -100, 100, 1 -boostClosedLoopBlends2_loadBins = array, U16, 22728, [8], "Load", 1, 0, 0, 1000, 0 -boostClosedLoopBlends2_rpmBins = array, U16, 22744, [8], "RPM", 1, 0, 0, 18000, 0 -boostClosedLoopBlends2_blendParameter = bits, U08, 22760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" -boostClosedLoopBlends2_blendBins = array, S16, 22762, [8], "", 0.1, 0, -1000, 1000, 1 -boostClosedLoopBlends2_blendValues = array, U08, 22778, [8], "%", 0.5, 0, 0, 100, 1 -lambdaMaxDeviationTable = array, U08, 22788, [4x4], "lambda", 0.01, 0, 0, 1, 2 -lambdaMaxDeviationLoadBins = array, U16, 22804, [4], "", 1, 0, 0, 1000, 0 -lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 -; total TS size = 22820 +lambdaLoadBins = array, U16, 18932, [16], "", 1, 0, 0, 1000, 0 +lambdaRpmBins = array, U16, 18964, [16], "RPM", 1, 0, 0, 18000, 0 +tpsTpsAccelTable = array, F32, 18996, [8x8], "value", 1, 0, 0, 30000, 2 +tpsTpsAccelFromRpmBins = array, F32, 19252, [8], "from", 1, 0, 0, 30000, 2 +tpsTpsAccelToRpmBins = array, F32, 19284, [8], "to", 1, 0, 0, 25500, 2 +scriptTable1 = array, F32, 19316, [8x8], "value", 1, 0, -100000, 100000, 2 +scriptTable1LoadBins = array, S16, 19572, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable1RpmBins = array, S16, 19588, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable2 = array, U08, 19604, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable2LoadBins = array, S16, 19668, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable2RpmBins = array, S16, 19684, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable3 = array, U08, 19700, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable3LoadBins = array, S16, 19764, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable3RpmBins = array, S16, 19780, [8], "RPM", 1, 0, -32000, 32000, 0 +scriptTable4 = array, U08, 19796, [8x8], "value", 1, 0, 0, 255, 0 +scriptTable4LoadBins = array, S16, 19860, [8], "L", 1, 0, -32000, 32000, 0 +scriptTable4RpmBins = array, S16, 19876, [8], "RPM", 1, 0, -32000, 32000, 0 +ignTrimLoadBins = array, U16, 19892, [4], "", 1, 0, 0, 1000, 0 +ignTrimRpmBins = array, U16, 19900, [4], "rpm", 1, 0, 0, 20000, 0 +ignTrims1_table = array, S08, 19908, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims2_table = array, S08, 19924, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims3_table = array, S08, 19940, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims4_table = array, S08, 19956, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims5_table = array, S08, 19972, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims6_table = array, S08, 19988, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims7_table = array, S08, 20004, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims8_table = array, S08, 20020, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims9_table = array, S08, 20036, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims10_table = array, S08, 20052, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims11_table = array, S08, 20068, [4x4], "", 0.2, 0, -25, 25, 1 +ignTrims12_table = array, S08, 20084, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrimLoadBins = array, U16, 20100, [4], "", 1, 0, 0, 1000, 0 +fuelTrimRpmBins = array, U16, 20108, [4], "rpm", 1, 0, 0, 20000, 0 +fuelTrims1_table = array, S08, 20116, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims2_table = array, S08, 20132, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims3_table = array, S08, 20148, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims4_table = array, S08, 20164, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims5_table = array, S08, 20180, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims6_table = array, S08, 20196, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims7_table = array, S08, 20212, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims8_table = array, S08, 20228, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims9_table = array, S08, 20244, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims10_table = array, S08, 20260, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims11_table = array, S08, 20276, [4x4], "", 0.2, 0, -25, 25, 1 +fuelTrims12_table = array, S08, 20292, [4x4], "", 0.2, 0, -25, 25, 1 +crankingFuelCoefE100 = array, U16, 20308, [8], "ratio", 0.01, 0, 0, 50, 2 +tcu_pcAirmassBins = array, U08, 20324, [8], "Airmass", 0.02, 0, 0, 255, 2 +tcu_pcValsR = array, U08, 20332, [8], "%", 1, 0, 0, 255, 0 +tcu_pcValsN = array, U08, 20340, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals1 = array, U08, 20348, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals2 = array, U08, 20356, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals3 = array, U08, 20364, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals4 = array, U08, 20372, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals12 = array, U08, 20380, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals23 = array, U08, 20388, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals34 = array, U08, 20396, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals21 = array, U08, 20404, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals32 = array, U08, 20412, [8], "%", 1, 0, 0, 255, 0 +tcu_pcVals43 = array, U08, 20420, [8], "%", 1, 0, 0, 255, 0 +tcu_tccTpsBins = array, U08, 20428, [8], "TPS", 1, 0, 0, 255, 0 +tcu_tccLockSpeed = array, U08, 20436, [8], "MPH", 1, 0, 0, 255, 0 +tcu_tccUnlockSpeed = array, U08, 20444, [8], "MPH", 1, 0, 0, 255, 0 +tcu_32SpeedBins = array, U08, 20452, [8], "KPH", 1, 0, 0, 255, 0 +tcu_32Vals = array, U08, 20460, [8], "%", 1, 0, 0, 255, 0 +throttle2TrimTable = array, S08, 20468, [6x6], "%", 0.1, 0, -10, 10, 1 +throttle2TrimTpsBins = array, U08, 20504, [6], "%", 1, 0, 0, 120, 0 +throttle2TrimRpmBins = array, U08, 20510, [6], "RPM", 100.0, 0, 0, 25000, 0 +maxKnockRetardTable = array, U08, 20516, [6x6], "deg", 0.25, 0, 0, 30, 2 +maxKnockRetardLoadBins = array, U08, 20552, [6], "%", 1, 0, 0, 250, 0 +maxKnockRetardRpmBins = array, U08, 20558, [6], "RPM", 100.0, 0, 0, 25000, 0 +ALSTimingRetardTable = array, S16, 20564, [4x4], "deg", 0.1, 0, -720, 720, 1 +alsIgnRetardLoadBins = array, U16, 20596, [4], "TPS", 1, 0, 0, 100, 0 +alsIgnRetardrpmBins = array, U16, 20604, [4], "RPM", 1, 0, 0, 25000, 0 +ALSFuelAdjustment = array, S16, 20612, [4x4], "percent", 0.1, 0, 0, 500, 1 +alsFuelAdjustmentLoadBins = array, U16, 20644, [4], "TPS", 1, 0, 0, 100, 0 +alsFuelAdjustmentrpmBins = array, U16, 20652, [4], "RPM", 1, 0, 0, 25000, 0 +ignBlends1_table = array, S16, 20660, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends1_loadBins = array, U16, 20788, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends1_rpmBins = array, U16, 20804, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends1_blendParameter = bits, U08, 20820, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends1_blendBins = array, S16, 20822, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends1_blendValues = array, U08, 20838, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends2_table = array, S16, 20848, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends2_loadBins = array, U16, 20976, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends2_rpmBins = array, U16, 20992, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends2_blendParameter = bits, U08, 21008, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends2_blendBins = array, S16, 21010, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends2_blendValues = array, U08, 21026, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends3_table = array, S16, 21036, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends3_loadBins = array, U16, 21164, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends3_rpmBins = array, U16, 21180, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends3_blendParameter = bits, U08, 21196, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends3_blendBins = array, S16, 21198, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends3_blendValues = array, U08, 21214, [8], "%", 0.5, 0, 0, 100, 1 +ignBlends4_table = array, S16, 21224, [8x8], "", 0.1, 0, -100, 100, 1 +ignBlends4_loadBins = array, U16, 21352, [8], "Load", 1, 0, 0, 1000, 0 +ignBlends4_rpmBins = array, U16, 21368, [8], "RPM", 1, 0, 0, 18000, 0 +ignBlends4_blendParameter = bits, U08, 21384, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +ignBlends4_blendBins = array, S16, 21386, [8], "", 0.1, 0, -1000, 1000, 1 +ignBlends4_blendValues = array, U08, 21402, [8], "%", 0.5, 0, 0, 100, 1 +veBlends1_table = array, S16, 21412, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends1_loadBins = array, U16, 21540, [8], "Load", 1, 0, 0, 1000, 0 +veBlends1_rpmBins = array, U16, 21556, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends1_blendParameter = bits, U08, 21572, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends1_blendBins = array, S16, 21574, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends1_blendValues = array, U08, 21590, [8], "%", 0.5, 0, 0, 100, 1 +veBlends2_table = array, S16, 21600, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends2_loadBins = array, U16, 21728, [8], "Load", 1, 0, 0, 1000, 0 +veBlends2_rpmBins = array, U16, 21744, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends2_blendParameter = bits, U08, 21760, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends2_blendBins = array, S16, 21762, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends2_blendValues = array, U08, 21778, [8], "%", 0.5, 0, 0, 100, 1 +veBlends3_table = array, S16, 21788, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends3_loadBins = array, U16, 21916, [8], "Load", 1, 0, 0, 1000, 0 +veBlends3_rpmBins = array, U16, 21932, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends3_blendParameter = bits, U08, 21948, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends3_blendBins = array, S16, 21950, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends3_blendValues = array, U08, 21966, [8], "%", 0.5, 0, 0, 100, 1 +veBlends4_table = array, S16, 21976, [8x8], "", 0.1, 0, -100, 100, 1 +veBlends4_loadBins = array, U16, 22104, [8], "Load", 1, 0, 0, 1000, 0 +veBlends4_rpmBins = array, U16, 22120, [8], "RPM", 1, 0, 0, 18000, 0 +veBlends4_blendParameter = bits, U08, 22136, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +veBlends4_blendBins = array, S16, 22138, [8], "", 0.1, 0, -1000, 1000, 1 +veBlends4_blendValues = array, U08, 22154, [8], "%", 0.5, 0, 0, 100, 1 +throttleEstimateEffectiveAreaBins = array, U16, 22164, [12], "%", 0.1, 0, 0, 100, 1 +throttleEstimateEffectiveAreaValues = array, U16, 22188, [12], "g/s", 0.1, 0, 0, 6500, 1 +boostOpenLoopBlends1_table = array, S16, 22212, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends1_loadBins = array, U16, 22340, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends1_rpmBins = array, U16, 22356, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends1_blendParameter = bits, U08, 22372, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends1_blendBins = array, S16, 22374, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends1_blendValues = array, U08, 22390, [8], "%", 0.5, 0, 0, 100, 1 +boostOpenLoopBlends2_table = array, S16, 22400, [8x8], "", 0.1, 0, -100, 100, 1 +boostOpenLoopBlends2_loadBins = array, U16, 22528, [8], "Load", 1, 0, 0, 1000, 0 +boostOpenLoopBlends2_rpmBins = array, U16, 22544, [8], "RPM", 1, 0, 0, 18000, 0 +boostOpenLoopBlends2_blendParameter = bits, U08, 22560, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostOpenLoopBlends2_blendBins = array, S16, 22562, [8], "", 0.1, 0, -1000, 1000, 1 +boostOpenLoopBlends2_blendValues = array, U08, 22578, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends1_table = array, S16, 22588, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends1_loadBins = array, U16, 22716, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends1_rpmBins = array, U16, 22732, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends1_blendParameter = bits, U08, 22748, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends1_blendBins = array, S16, 22750, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends1_blendValues = array, U08, 22766, [8], "%", 0.5, 0, 0, 100, 1 +boostClosedLoopBlends2_table = array, S16, 22776, [8x8], "", 0.1, 0, -100, 100, 1 +boostClosedLoopBlends2_loadBins = array, U16, 22904, [8], "Load", 1, 0, 0, 1000, 0 +boostClosedLoopBlends2_rpmBins = array, U16, 22920, [8], "RPM", 1, 0, 0, 18000, 0 +boostClosedLoopBlends2_blendParameter = bits, U08, 22936, [0:4], "Zero", "TPS", "MAP", "CLT", "IAT", "Fuel Load", "Ignition Load", "Aux Temp 1", "Aux Temp 2", "Accel Pedal", "Battery Voltage", "VVT 1 I", "VVT 1 E", "VVT 2 I", "VVT 2 E", "Ethanol (Flex) %", "Aux Linear 1", "Aux Linear 2", "GPPWM Output 1", "GPPWM Output 2", "GPPWM Output 3", "GPPWM Output 4", "Lua Gauge 1", "Lua Gauge 2", "RPM", "Gear (detected)" +boostClosedLoopBlends2_blendBins = array, S16, 22938, [8], "", 0.1, 0, -1000, 1000, 1 +boostClosedLoopBlends2_blendValues = array, U08, 22954, [8], "%", 0.5, 0, 0, 100, 1 +lambdaMaxDeviationTable = array, U08, 22964, [4x4], "lambda", 0.01, 0, 0, 1, 2 +lambdaMaxDeviationLoadBins = array, U16, 22980, [4], "", 1, 0, 0, 1000, 0 +lambdaMaxDeviationRpmBins = array, U16, 22988, [4], "RPM", 1, 0, 0, 18000, 0 +; total TS size = 22996 [SettingContextHelp] engineType = "http://rusefi.com/wiki/index.php?title=Manual:Engine_Type" sensorSnifferRpmThreshold = "Disable sensor sniffer above this rpm" @@ -1426,7 +1465,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 useSeparateIdleTablesForCrankingTaper = "This uses separate ignition timing and VE tables not only for idle conditions, also during the postcranking-to-idle taper transition (See also afterCrankingIACtaperDuration)." doNotFilterTriggerEdgeNoise = "Detect double trigger edges" useRunningMathForCranking = "For cranking either use the specified fixed base fuel mass, or use the normal running math (VE table)." - verboseCan = "Print incoming and outgoing first bus CAN messages in rusEFI console" + verboseCan = "Print incoming and outgoing first bus CAN messages in FOME 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" @@ -1446,7 +1485,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 clt_bias_resistor = "Pull-up resistor value on your board" iat_tempC_1 = "these values are in Celcius" iat_bias_resistor = "Pull-up resistor value on your board" - knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override" + knockBandCustom = "We calculate knock band based of cylinderBore\n Use this to override - kHz knock band override\nRequires power cycling to effect" displacement = "Engine displacement in litres" cylindersCount = "Number of cylinder the engine has." benchTestOnTime = "Duration of each test pulse" @@ -1543,9 +1582,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 triggerSimulatorPins1 = "Generate a synthetic trigger signal for an external ECU 1" triggerSimulatorPins2 = "Generate a synthetic trigger signal for an external ECU 2" isSdCardEnabled = "enable sd/disable sd" - rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for rusEFI verbose CAN format." + rusefiVerbose29b = "Use 11 bit (standard) or 29 bit (extended) IDs for FOME verbose CAN format." useStepperIdle = "This setting should only be used if you have a stepper motor idle valve and a stepper motor driver installed." - enableVerboseCanTx = "CAN broadcast using custom rusEFI protocol\nenable can_broadcast/disable can_broadcast" + enableVerboseCanTx = "CAN broadcast using custom FOME protocol\nenable can_broadcast/disable can_broadcast" measureMapOnlyInOneCylinder = "Useful for individual intakes" isFasterEngineSpinUpEnabled = "If enabled, try to fire the engine before a full engine cycle has been completed using RPM estimated from the last 90 degrees of engine rotation. As soon as the trigger syncs plus 90 degrees rotation, fuel and ignition events will occur. If disabled, worst case may require up to 4 full crank rotations before any events are scheduled." coastingFuelCutEnabled = "This setting disables fuel injection while the engine is in overrun, this is useful as a fuel saving measure and to prevent back firing." @@ -1594,8 +1633,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stftIgnoreErrorMagnitude = "If enabled, adjust at a constant rate instead of a rate proportional to the current lambda error. This mode may be easier to tune, and more tolerant of sensor noise." verboseVVTDecoding = "Verbose info in console below engineSnifferRpmThreshold\nenable vvt_details" invertCamVVTSignal = "get invertCamVVTSignal" + alphaNUseIat = "In Alpha-N mode, compensate for air temperature." useRawOutputToDriveIdleStepper = "If enabled we use four Push-Pull outputs to directly drive stepper idle air valve coilss" - verboseCan2 = "Print incoming and outgoing second bus CAN messages in rusEFI console" + verboseCan2 = "Print incoming and outgoing second bus CAN messages in FOME console" etbIo1_controlPin = "Acts as EN pin in two-wire mode" etbIo2_controlPin = "Acts as EN pin in two-wire mode" boostControlPin = "Wastegate control Solenoid" @@ -1622,9 +1662,9 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 stft_cellCfgs4_timeConstant = "Time constant for correction while in this cell: this sets responsiveness of the closed loop correction. A value of 5.0 means it will try to make most of the correction within 5 seconds, and a value of 1.0 will try to correct within 1 second." stepperDcIo1_controlPin = "Acts as EN pin in two-wire mode" stepperDcIo2_controlPin = "Acts as EN pin in two-wire mode" - engineMake = "For example, BMW, GM or Chevrolet\nREQUIRED for rusEFI Online" - engineCode = "For example, LS1 or NB2\nREQUIRED for rusEFI Online" - vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles.\nREQUIRED for rusEFI Online" + engineMake = "For example, BMW, GM or Chevrolet" + engineCode = "For example, LS1 or NB2" + vehicleName = "For example, Hunchback or Orange Miata\nVehicle name has to be unique between your vehicles." tcu_solenoid1 = "tcu_solenoid 1" tcu_solenoid2 = "tcu_solenoid 2" tcu_solenoid3 = "tcu_solenoid 3" @@ -1651,14 +1691,13 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 gpPwmNote4 = "gpPwmNote 4" widebandOnSecondBus = "Select which bus the wideband controller is attached to." fuelClosedLoopCorrectionEnabled = "Enables lambda sensor closed loop feedback for fuelling." - isVerboseIAC = "Print details into rusEFI console\nenable verbose_idle" silentTriggerError = "Sometimes we have a performance issue while printing error" canReadEnabled = "enable can_read/disable can_read" canWriteEnabled = "enable can_write/disable can_write" tachPulseDurationAsDutyCycle = "Treat milliseconds value as duty cycle value, i.e. 0.5ms would become 50%" isAlternatorControlEnabled = "This enables smart alternator control and activates the extra alternator settings." - invertPrimaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the primary engine speed sensor." - invertSecondaryTriggerSignal = "https://wiki.rusefi.com/Trigger-Configuration-Guide\nThis setting flips the signal from the secondary engine speed sensor." + invertPrimaryTriggerSignal = "Invert the signal from the primary trigger sensor." + invertSecondaryTriggerSignal = "Invert the signal from the secondary trigger sensor." cutSparkOnHardLimit = "Be careful enabling this: some engines are known to self-disassemble their valvetrain with a spark cut. Fuel cut is much safer." launchSparkCutEnable = "This is the Cut Mode normally used" skippedWheelOnCam = "Where is your primary skipped wheel located?" @@ -1731,7 +1770,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 auxSpeedSensorInputPin1 = "auxSpeedSensorInputPin 1" auxSpeedSensorInputPin2 = "auxSpeedSensorInputPin 2" injectionTimingMode = "Sets what part of injection's is controlled by the injection phase table." - debugMode = "See http://rusefi.com/s/debugmode" + debugMode = "See https://wiki.fome.tech/r/debugmode" fan1ExtraIdle = "Additional idle % when fan #1 is active" uartConsoleSerialSpeed = "Band rate for primary TTL" tpsDecelEnleanmentThreshold = "For decel we simply multiply delta of TPS and tFor decel we do not use table?!" @@ -2015,6 +2054,21 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 rpmHardLimitHyst = "If the hard limit is 7200rpm and hysteresis is 200rpm, then when the ECU sees 7200rpm, fuel/ign will cut, and stay cut until 7000rpm (7200-200) is reached" ignTestCount = "How many test bench pulses do you want" ignTestOffTime = "Time between bench test pulses" + canVssScaling = "Scale the reported vehicle speed value from CAN. Example: Parameter set to 1.1, CAN VSS reports 50kph, ECU will report 55kph instead." + oilTempSensor_tempC_1 = "these values are in Celcius" + oilTempSensor_bias_resistor = "Pull-up resistor value on your board" + fuelTempSensor_tempC_1 = "these values are in Celcius" + fuelTempSensor_bias_resistor = "Pull-up resistor value on your board" + ambientTempSensor_tempC_1 = "these values are in Celcius" + ambientTempSensor_bias_resistor = "Pull-up resistor value on your board" + compressorDischargeTemperature_tempC_1 = "these values are in Celcius" + compressorDischargeTemperature_bias_resistor = "Pull-up resistor value on your board" + throttleInletPressureChannel = "Place the sensor before the throttle, but after any turbocharger/supercharger and intercoolers if fitted. Uses the same calibration as the MAP sensor." + compressorDischargePressureChannel = "Place the sensor after the turbocharger/supercharger, but before any intercoolers if fitted. Uses the same calibration as the MAP sensor." + maxInjectorDutyInstant = "If injector duty cycle hits this value, instantly cut fuel." + maxInjectorDutySustained = "If injector duty cycle hits this value for the specified delay time, cut fuel." + maxInjectorDutySustainedTimeout = "Timeout period for duty cycle over the sustained limit to trigger duty cycle protection." + speedometerPulsePerKm = "Number of speedometer pulses per kilometer travelled." etbBiasBins = "target TPS value, 0 to 100%\nTODO: use int8 data date once we template interpolation method" etbBiasValues = "PWM bias, 0 to 100%" sparkDwellRpmBins = "On Single Coil or Wasted Spark setups you have to lower dwell at high RPM" @@ -2100,7 +2154,7 @@ lambdaMaxDeviationRpmBins = array, U16, 22812, [4], "RPM", 1, 0, 0, 18000, 0 veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -2158,7 +2212,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -2174,484 +2228,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -2835,9 +2879,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 @@ -2997,7 +3040,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -3083,7 +3126,7 @@ lambdaTimeSinceGood = scalar, U16, 1376, "sec", 0.01, 0 curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -3903,41 +3946,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -3951,6 +3992,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -3962,20 +4004,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -3984,7 +4019,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -4012,15 +4047,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, "Fuel pressure (high)", "bar", 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, "Warning: counter", "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, "Last error", "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -4056,6 +4082,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, "Air/Fuel Ratio", "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, "Air/Fuel Ratio 2", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, "Air/Fuel Ratio (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, "Air/Fuel Ratio 2 (Gas Scale)", "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, "Lambda", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, "Lambda 2", "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -4065,21 +4093,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, "Vehicle Speed", "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, "Turbocharger Speed", "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, "Barometric pressure", "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, "ECU temperature", "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, "Oil Pressure", "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, "Aux temp 1", "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, "Aux temp 2", "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, "Fuel pressure (low)", "kPa", 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, "Flex Ethanol %", "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, "Aux linear #1", "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, "Aux linear #2", "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, "Acceleration: X", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, "Acceleration: Y", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, "Acceleration: Z", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, "Acceleration: Roll", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, "Acceleration: Yaw", "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, "Wastegate position sensor", "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, "VVT: bank 1 intake", "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, "VVT: bank 1 exhaust", "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -4094,13 +4130,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, "Ign: Coil duty cycle", "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, "Ign: Load", "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -4179,21 +4221,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -4370,7 +4412,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -4395,7 +4436,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -4412,10 +4452,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -4455,18 +4495,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -4479,7 +4507,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -4658,6 +4685,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -4671,6 +4709,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -4680,10 +4719,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -4848,7 +4900,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" @@ -4942,14 +4993,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == 0} @@ -4993,14 +5044,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -5152,8 +5203,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold" subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = egtInputs, "EGT" subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -5296,6 +5351,11 @@ cmd_test_cancel = "Z\x00\x16\x00\x0e" cmd_fuel_pump_on = "Z\x00\x16\x00\x0f" cmd_fuel_pump_off = "Z\x00\x16\x00\x10" +cmd_bump_vvt_target_1 = "Z\x00\x16\x00\x11" +cmd_bump_vvt_target_2 = "Z\x00\x16\x00\x12" +cmd_bump_vvt_target_3 = "Z\x00\x16\x00\x13" +cmd_bump_vvt_target_4 = "Z\x00\x16\x00\x14" + cmd_test_sol1 = "Z\x00\x19\x00\x01" cmd_test_sol2 = "Z\x00\x19\x00\x02" cmd_test_sol3 = "Z\x00\x19\x00\x03" @@ -5391,11 +5451,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "Z\x00\x1e\x00\x27" cmd_set_engine_type_PROTEUS_GM_LS_4 = "Z\x00\x1e\x00\x1b" cmd_set_engine_type_PROTEUS_HONDA_K = "Z\x00\x1e\x00\x5a" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "Z\x00\x1e\x00\x5b" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" cmd_set_engine_type_Proteus_Miata_TCU = "Z\x00\x1e\x00\x01" cmd_set_engine_type_PROTEUS_LUA_DEMO = "Z\x00\x1e\x00\x19" cmd_set_engine_type_PROTEUS_HARLEY = "Z\x00\x1e\x00\x06" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "Z\x00\x1e\x00\x04" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "Z\x00\x1e\x00\x0b" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "Z\x00\x1e\x00\x43" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "Z\x00\x1e\x00\x0c" ; ETB_BENCH_ENGINE = 58 @@ -5424,6 +5486,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -5443,9 +5506,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -5697,7 +5777,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" @@ -5866,6 +5945,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == 2 } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -6176,7 +6256,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -6186,7 +6267,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -6196,7 +6278,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -6206,7 +6289,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -6256,14 +6340,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != 0} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != 0} field = "" @@ -6273,14 +6353,10 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != 0} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != 0} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != 0} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != 0} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != 0} field = "" @@ -6290,6 +6366,62 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != 0} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != 0} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != 0} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != 0} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != 0} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != 0} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != 0} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != 0} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != 0} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != 0} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != 0} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != 0} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != 0} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != 0} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != 0} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != 0} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != 0} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != 0} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != 0} @@ -6398,6 +6530,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -6582,11 +6716,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != 0} + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != 0} settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -6594,8 +6726,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != 0} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != 0} @@ -6616,10 +6746,9 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != 0} + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != 0} settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -6627,8 +6756,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != 0} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != 0} @@ -6649,7 +6776,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != 0} @@ -6908,7 +7034,6 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -7018,10 +7143,15 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -7150,6 +7280,16 @@ dialog = lambda_monitorDialog, "lambda_monitor" panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -7160,6 +7300,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -7222,7 +7363,8 @@ dialog = lambda_monitorDialog, "lambda_monitor" dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -7329,6 +7471,11 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -7337,6 +7484,7 @@ dialog = lambda_monitorDialog, "lambda_monitor" field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -7959,12 +8107,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/tunerstudio/generated/temp/data_logs.ini b/firmware/tunerstudio/generated/temp/data_logs.ini index 07c3319ba1..7a3179f34a 100644 --- a/firmware/tunerstudio/generated/temp/data_logs.ini +++ b/firmware/tunerstudio/generated/temp/data_logs.ini @@ -42,7 +42,6 @@ entry = mafMeasured, "MAF", float, "%.3f" entry = MAPValue, "MAP", float, "%.3f" entry = baroPressure, "baroPressure", float, "%.3f" entry = lambdaValue, "Lambda", float, "%.3f" -entry = knockRetard, "Knock: Retard", float, "%.3f" entry = VBatt, "VBatt", float, "%.3f" entry = oilPressure, "Oil Pressure", float, "%.3f" entry = vvtPositionB1I, "VVT: bank 1 intake", float, "%.3f" @@ -67,7 +66,6 @@ entry = totalFuelConsumption, "Fuel: Total consumed", int, "%d" entry = fuelFlowRate, "Fuel: Flow rate", float, "%.3f" entry = TPS2Value, "TPS2", float, "%.3f" entry = tuneCrc16, "Tune CRC16", int, "%d" -entry = knockLevel, "Knock: Current level", float, "%.3f" entry = seconds, "Uptime", int, "%d" entry = engineMode, "Engine Mode", int, "%d" entry = firmwareVersion, "firmware", int, "%d" @@ -84,10 +82,10 @@ entry = rawPpsSecondary, "rawPpsSecondary", float, "%.3f" entry = tcuDesiredGear, "TCU: Desired Gear", int, "%d" entry = flexPercent, "Flex Ethanol %", float, "%.3f" entry = wastegatePositionSensor, "Wastegate position sensor", float, "%.3f" -entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = calibrationValue, "calibrationValue", float, "%.3f" entry = calibrationMode, "calibrationMode", int, "%d" -entry = idleTargetPosition, "Idle: Stepper target position", int, "%d" +entry = idleStepperTargetPosition, "Idle: Stepper target position", int, "%d" +entry = tsConfigVersion, "tsConfigVersion", int, "%d" entry = totalTriggerErrorCounter, "Trigger Error Counter", int, "%d" entry = orderingErrorCounter, "orderingErrorCounter", int, "%d" entry = warningCounter, "Warning: counter", int, "%d" @@ -127,18 +125,6 @@ entry = rawIat, "rawIat", float, "%.3f" entry = rawOilPressure, "rawOilPressure", float, "%.3f" entry = fuelClosedLoopBinIdx, "fuelClosedLoopBinIdx", int, "%d" entry = tcuCurrentGear, "Current Gear", int, "%d" -entry = knock1, "Knock: Cyl 1", int, "%d" -entry = knock2, "Knock: Cyl 2", int, "%d" -entry = knock3, "Knock: Cyl 3", int, "%d" -entry = knock4, "Knock: Cyl 4", int, "%d" -entry = knock5, "Knock: Cyl 5", int, "%d" -entry = knock6, "Knock: Cyl 6", int, "%d" -entry = knock7, "Knock: Cyl 7", int, "%d" -entry = knock8, "Knock: Cyl 8", int, "%d" -entry = knock9, "Knock: Cyl 9", int, "%d" -entry = knock10, "Knock: Cyl 10", int, "%d" -entry = knock11, "Knock: Cyl 11", int, "%d" -entry = knock12, "Knock: Cyl 12", int, "%d" entry = AFRValue, "Air/Fuel Ratio", float, "%.3f" entry = VssAcceleration, "Vss Accel", float, "%.3f" entry = lambdaValue2, "Lambda 2", float, "%.3f" @@ -151,7 +137,6 @@ entry = fuelPidCorrection2, "Fuel: Trim bank 2", float, "%.3f" entry = rawTps1Secondary, "rawTps1Secondary", float, "%.3f" entry = rawTps2Primary, "rawTps2Primary", float, "%.3f" entry = rawTps2Secondary, "rawTps2Secondary", float, "%.3f" -entry = knockCount, "Knock: Count", int, "%d" entry = accelerationZ, "Acceleration: Z", float, "%.3f" entry = accelerationRoll, "Acceleration: Roll", float, "%.3f" entry = accelerationYaw, "Acceleration: Yaw", float, "%.3f" @@ -330,6 +315,17 @@ entry = mafMeasured2, "MAF #2", float, "%.3f" entry = schedulingUsedCount, "schedulingUsedCount", int, "%d" entry = Gego, "Gego", float, "%.3f" entry = testBenchIter, "testBenchIter", int, "%d" +entry = oilTemp, "oilTemp", float, "%.3f" +entry = fuelTemp, "fuelTemp", float, "%.3f" +entry = ambientTemp, "ambientTemp", float, "%.3f" +entry = compressorDischargeTemp, "compressorDischargeTemp", float, "%.3f" +entry = compressorDischargePressure, "compressorDischargePressure", float, "%.3f" +entry = throttleInletPressure, "throttleInletPressure", float, "%.3f" +entry = ignitionOnTime, "ignitionOnTime", int, "%d" +entry = engineRunTime, "engineRunTime", int, "%d" +entry = distanceTraveled, "distanceTraveled", float, "%.3f" +entry = afrGasolineScale, "Air/Fuel Ratio (Gas Scale)", float, "%.3f" +entry = afr2GasolineScale, "Air/Fuel Ratio 2 (Gas Scale)", float, "%.3f" entry = totalFuelCorrection, "Fuel: Total correction", float, "%.3f" entry = running_postCrankingFuelCorrection, "Fuel: Post cranking mult", float, "%.3f" entry = running_intakeTemperatureCoefficient, "Fuel: IAT correction", float, "%.3f" @@ -343,6 +339,7 @@ entry = targetAFR, "Fuel: target AFR", float, "%.3f" entry = stoichiometricRatio, "Fuel: Stoich ratio", float, "%.3f" entry = sdTcharge_coff, "sdTcharge_coff", float, "%.3f" entry = sdAirMassInOneCylinder, "Air: Cylinder airmass", float, "%.3f" +entry = normalizedCylinderFilling, "Air: Normalized cyl filling", float, "%.3f" entry = baseDwell, "baseDwell", float, "%.3f" entry = sparkDwell, "Ign: Dwell", float, "%.3f" entry = dwellAngle, "ignition dwell duration", float, "%.3f" @@ -352,10 +349,23 @@ entry = timingPidCorrection, "Idle: Timing adjustment", float, "%.3f" entry = dwellVoltageCorrection, "Ign: Dwell voltage correction", float, "%.3f" entry = luaTimingAdd, "Ign: Lua timing add", float, "%.3f" entry = luaTimingMult, "Ign: Lua timing mult", float, "%.3f" -entry = m_knockRetard, "Knock Degrees retarded", float, "%.3f" -entry = m_knockThreshold, "m_knockThreshold", float, "%.3f" -entry = m_knockCount, "m_knockCount", int, "%d" -entry = m_maximumRetard, "m_maximumRetard", float, "%.3f" +entry = m_knockLevel, "Knock: Current level", float, "%.3f" +entry = m_knockCyl1, "Knock: Cyl 1", int, "%d" +entry = m_knockCyl2, "Knock: Cyl 2", int, "%d" +entry = m_knockCyl3, "Knock: Cyl 3", int, "%d" +entry = m_knockCyl4, "Knock: Cyl 4", int, "%d" +entry = m_knockCyl5, "Knock: Cyl 5", int, "%d" +entry = m_knockCyl6, "Knock: Cyl 6", int, "%d" +entry = m_knockCyl7, "Knock: Cyl 7", int, "%d" +entry = m_knockCyl8, "Knock: Cyl 8", int, "%d" +entry = m_knockCyl9, "Knock: Cyl 9", int, "%d" +entry = m_knockCyl10, "Knock: Cyl 10", int, "%d" +entry = m_knockCyl11, "Knock: Cyl 11", int, "%d" +entry = m_knockCyl12, "Knock: Cyl 12", int, "%d" +entry = m_knockRetard, "Knock: Retard", float, "%.3f" +entry = m_knockThreshold, "Knock: Threshold", float, "%.3f" +entry = m_knockCount, "Knock: Count", int, "%d" +entry = m_maximumRetard, "Knock: Max retard", float, "%.3f" entry = m_requested_pump, "HPFP duration", float, "%.3f" entry = fuel_requested_percent, "fuel_requested_percent", float, "%.3f" entry = fuel_requested_percent_pi, "fuel_requested_percent_pi", float, "%.3f" @@ -520,7 +530,6 @@ entry = isBlipping, "isBlipping", int, "%d" entry = looksLikeRunning, "looksLikeRunning", int, "%d" entry = looksLikeCoasting, "looksLikeCoasting", int, "%d" entry = looksLikeCrankToIdle, "looksLikeCrankToIdle", int, "%d" -entry = isVerboseIAC, "isVerboseIAC", int, "%d" entry = isIdleCoasting, "Idle: coasting", int, "%d" entry = isIdleClosedLoop, "Idle: Closed loop active", int, "%d" entry = idleTarget, "Idle: Target RPM", int, "%d" diff --git a/firmware/tunerstudio/generated/temp/fancy_content.ini b/firmware/tunerstudio/generated/temp/fancy_content.ini index a27359d886..5eb65cb36b 100644 --- a/firmware/tunerstudio/generated/temp/fancy_content.ini +++ b/firmware/tunerstudio/generated/temp/fancy_content.ini @@ -17,6 +17,7 @@ dialog = fuel_computerDialog, "fuel_computer" graphLine = sdTcharge_coff liveGraph = fuel_computer_4_Graph, "Graph", South graphLine = sdAirMassInOneCylinder + graphLine = normalizedCylinderFilling dialog = ignition_stateDialog, "ignition_state" @@ -36,9 +37,26 @@ dialog = ignition_stateDialog, "ignition_state" dialog = knock_controllerDialog, "knock_controller" liveGraph = knock_controller_1_Graph, "Graph", South + graphLine = m_knockLevel + graphLine = m_knockCyl1 + graphLine = m_knockCyl2 + graphLine = m_knockCyl3 + liveGraph = knock_controller_2_Graph, "Graph", South + graphLine = m_knockCyl4 + graphLine = m_knockCyl5 + graphLine = m_knockCyl6 + graphLine = m_knockCyl7 + liveGraph = knock_controller_3_Graph, "Graph", South + graphLine = m_knockCyl8 + graphLine = m_knockCyl9 + graphLine = m_knockCyl10 + graphLine = m_knockCyl11 + liveGraph = knock_controller_4_Graph, "Graph", South + graphLine = m_knockCyl12 graphLine = m_knockRetard graphLine = m_knockThreshold graphLine = m_knockCount + liveGraph = knock_controller_5_Graph, "Graph", South graphLine = m_maximumRetard indicatorPanel = high_pressure_fuel_pumpIndicatorPanel, 2 @@ -290,7 +308,6 @@ indicatorPanel = idle_stateIndicatorPanel, 2 indicator = {looksLikeRunning}, "looksLikeRunning No", "looksLikeRunning Yes" indicator = {looksLikeCoasting}, "looksLikeCoasting No", "looksLikeCoasting Yes" indicator = {looksLikeCrankToIdle}, "looksLikeCrankToIdle No", "looksLikeCrankToIdle Yes" - indicator = {isVerboseIAC}, "isVerboseIAC No", "isVerboseIAC Yes" indicator = {isIdleCoasting}, "isIdleCoasting No", "isIdleCoasting Yes" indicator = {isIdleClosedLoop}, "isIdleClosedLoop No", "isIdleClosedLoop Yes" diff --git a/firmware/tunerstudio/generated/temp/output_channels.ini b/firmware/tunerstudio/generated/temp/output_channels.ini index b8e920b76c..89fa273853 100644 --- a/firmware/tunerstudio/generated/temp/output_channels.ini +++ b/firmware/tunerstudio/generated/temp/output_channels.ini @@ -26,7 +26,7 @@ isMainRelayOn = bits, U32, 0, [24:24] isUsbConnected = bits, U32, 0, [25:25] dfcoActive = bits, U32, 0, [26:26] RPMValue = scalar, U16, 4, "RPM", 1, 0 -rpmAcceleration = scalar, U16, 6, "RPM acceleration", 1, 0 +rpmAcceleration = scalar, S16, 6, "RPM acceleration", 1, 0 speedToRpmRatio = scalar, U16, 8, "value", 0.01, 0 vehicleSpeedKph = scalar, U08, 10, "kph", 1, 0 internalMcuTemperature = scalar, S08, 11, "deg C", 1, 0 @@ -42,484 +42,474 @@ mafMeasured = scalar, U16, 28, "kg/h", 0.1, 0 MAPValue = scalar, U16, 30, "kPa", 0.03333333333333333, 0 baroPressure = scalar, U16, 32, "kPa", 0.03333333333333333, 0 lambdaValue = scalar, U16, 34, "", 1.0E-4, 0 -knockRetard = scalar, U08, 36, "deg", 0.1, 0 -VBatt = scalar, U16, 38, "V", 0.001, 0 -oilPressure = scalar, U16, 40, "kPa", 0.03333333333333333, 0 -vvtPositionB1I = scalar, S16, 42, "deg", 0.02, 0 -actualLastInjection = scalar, U16, 44, "ms", 0.0033333333333333335, 0 -injectorDutyCycle = scalar, U08, 46, "%", 0.5, 0 -veValue = scalar, U08, 47, "ratio", 0.5, 0 -injectionOffset = scalar, S16, 48, "deg", 1, 0 -engineMakeCodeNameCrc16 = scalar, U16, 50, "crc16", 1, 0 -wallFuelAmount = scalar, U16, 52, "mg", 0.01, 0 -wallFuelCorrectionValue = scalar, S16, 54, "mg", 0.01, 0 -revolutionCounterSinceStart = scalar, U16, 56, "", 1, 0 -canReadCounter = scalar, U16, 58, "", 1, 0 -tpsAccelFuel = scalar, S16, 60, "ms", 0.0033333333333333335, 0 -ignitionAdvance = scalar, S16, 62, "deg", 0.02, 0 -currentIgnitionMode = scalar, U08, 64, "", 1, 0 -currentInjectionMode = scalar, U08, 65, "", 1, 0 -coilDutyCycle = scalar, U16, 66, "%", 0.01, 0 -etbTarget = scalar, S16, 68, "%", 0.01, 0 -etb1DutyCycle = scalar, S16, 70, "%", 0.01, 0 -fuelTankLevel = scalar, S16, 72, "%", 0.01, 0 -totalFuelConsumption = scalar, U16, 74, "grams", 1, 0 -fuelFlowRate = scalar, U16, 76, "gram/s", 0.005, 0 -TPS2Value = scalar, S16, 78, "%", 0.01, 0 -tuneCrc16 = scalar, U16, 80, "crc16", 1, 0 -knockLevel = scalar, F32, 84, "Volts", 1, 0 -seconds = scalar, U32, 88, "sec", 1, 0 -engineMode = scalar, U32, 92, "em", 1, 0 -firmwareVersion = scalar, U32, 96, "version_f", 1, 0 -rawWastegatePosition = scalar, S16, 100, "V", 0.001, 0 -accelerationX = scalar, S16, 102, "G", 0.01, 0 -accelerationY = scalar, S16, 104, "G", 0.01, 0 -detectedGear = scalar, U08, 106, "", 1, 0 -maxTriggerReentrant = scalar, U08, 107, "", 1, 0 -rawLowFuelPressure = scalar, S16, 108, "V", 0.001, 0 -rawHighFuelPressure = scalar, S16, 110, "V", 0.001, 0 -lowFuelPressure = scalar, S16, 112, "kpa", 0.03333333333333333, 0 -highFuelPressure = scalar, S16, 114, "bar", 0.1, 0 -rawPpsSecondary = scalar, S16, 116, "V", 0.001, 0 -tcuDesiredGear = scalar, S08, 118, "gear", 1, 0 -flexPercent = scalar, U08, 119, "%", 0.5, 0 -wastegatePositionSensor = scalar, S16, 120, "%", 0.01, 0 +VBatt = scalar, U16, 36, "V", 0.001, 0 +oilPressure = scalar, U16, 38, "kPa", 0.03333333333333333, 0 +vvtPositionB1I = scalar, S16, 40, "deg", 0.02, 0 +actualLastInjection = scalar, U16, 42, "ms", 0.0033333333333333335, 0 +injectorDutyCycle = scalar, U08, 44, "%", 0.5, 0 +veValue = scalar, U08, 45, "ratio", 0.5, 0 +injectionOffset = scalar, S16, 46, "deg", 1, 0 +engineMakeCodeNameCrc16 = scalar, U16, 48, "crc16", 1, 0 +wallFuelAmount = scalar, U16, 50, "mg", 0.01, 0 +wallFuelCorrectionValue = scalar, S16, 52, "mg", 0.01, 0 +revolutionCounterSinceStart = scalar, U16, 54, "", 1, 0 +canReadCounter = scalar, U16, 56, "", 1, 0 +tpsAccelFuel = scalar, S16, 58, "ms", 0.0033333333333333335, 0 +ignitionAdvance = scalar, S16, 60, "deg", 0.02, 0 +currentIgnitionMode = scalar, U08, 62, "", 1, 0 +currentInjectionMode = scalar, U08, 63, "", 1, 0 +coilDutyCycle = scalar, U16, 64, "%", 0.01, 0 +etbTarget = scalar, S16, 66, "%", 0.01, 0 +etb1DutyCycle = scalar, S16, 68, "%", 0.01, 0 +fuelTankLevel = scalar, S16, 70, "%", 0.01, 0 +totalFuelConsumption = scalar, U16, 72, "grams", 1, 0 +fuelFlowRate = scalar, U16, 74, "gram/s", 0.005, 0 +TPS2Value = scalar, S16, 76, "%", 0.01, 0 +tuneCrc16 = scalar, U16, 78, "crc16", 1, 0 +seconds = scalar, U32, 80, "sec", 1, 0 +engineMode = scalar, U32, 84, "em", 1, 0 +firmwareVersion = scalar, U32, 88, "version_f", 1, 0 +rawWastegatePosition = scalar, S16, 92, "V", 0.001, 0 +accelerationX = scalar, S16, 94, "G", 0.01, 0 +accelerationY = scalar, S16, 96, "G", 0.01, 0 +detectedGear = scalar, U08, 98, "", 1, 0 +maxTriggerReentrant = scalar, U08, 99, "", 1, 0 +rawLowFuelPressure = scalar, S16, 100, "V", 0.001, 0 +rawHighFuelPressure = scalar, S16, 102, "V", 0.001, 0 +lowFuelPressure = scalar, S16, 104, "kpa", 0.03333333333333333, 0 +highFuelPressure = scalar, S16, 106, "bar", 0.1, 0 +rawPpsSecondary = scalar, S16, 108, "V", 0.001, 0 +tcuDesiredGear = scalar, S08, 110, "gear", 1, 0 +flexPercent = scalar, U08, 111, "%", 0.5, 0 +wastegatePositionSensor = scalar, S16, 112, "%", 0.01, 0 +calibrationValue = scalar, F32, 116, "", 1, 0 +calibrationMode = scalar, U08, 120, "", 1, 0 +idleStepperTargetPosition = scalar, U08, 121, "", 1, 0 tsConfigVersion = scalar, U32, 124, "", 1, 0 -calibrationValue = scalar, F32, 128, "", 1, 0 -calibrationMode = scalar, U08, 132, "", 1, 0 -idleTargetPosition = scalar, U08, 133, "", 1, 0 -totalTriggerErrorCounter = scalar, U32, 136, "counter", 1, 0 -orderingErrorCounter = scalar, U32, 140, "", 1, 0 -warningCounter = scalar, U16, 144, "count", 1, 0 -lastErrorCode = scalar, U16, 146, "error", 1, 0 -recentErrorCode1 = scalar, U16, 148, "error", 1, 0 -recentErrorCode2 = scalar, U16, 150, "error", 1, 0 -recentErrorCode3 = scalar, U16, 152, "error", 1, 0 -recentErrorCode4 = scalar, U16, 154, "error", 1, 0 -recentErrorCode5 = scalar, U16, 156, "error", 1, 0 -recentErrorCode6 = scalar, U16, 158, "error", 1, 0 -recentErrorCode7 = scalar, U16, 160, "error", 1, 0 -recentErrorCode8 = scalar, U16, 162, "error", 1, 0 -debugFloatField1 = scalar, F32, 164, "val", 1, 0 -debugFloatField2 = scalar, F32, 168, "val", 1, 0 -debugFloatField3 = scalar, F32, 172, "val", 1, 0 -debugFloatField4 = scalar, F32, 176, "val", 1, 0 -debugFloatField5 = scalar, F32, 180, "val", 1, 0 -debugFloatField6 = scalar, F32, 184, "val", 1, 0 -debugFloatField7 = scalar, F32, 188, "val", 1, 0 -debugIntField1 = scalar, U32, 192, "val", 1, 0 -debugIntField2 = scalar, U32, 196, "val", 1, 0 -debugIntField3 = scalar, U32, 200, "val", 1, 0 -debugIntField4 = scalar, S16, 204, "val", 1, 0 -debugIntField5 = scalar, S16, 206, "val", 1, 0 -egt1 = scalar, U16, 208, "deg C", 1, 0 -egt2 = scalar, U16, 210, "deg C", 1, 0 -egt3 = scalar, U16, 212, "deg C", 1, 0 -egt4 = scalar, U16, 214, "deg C", 1, 0 -egt5 = scalar, U16, 216, "deg C", 1, 0 -egt6 = scalar, U16, 218, "deg C", 1, 0 -egt7 = scalar, U16, 220, "deg C", 1, 0 -egt8 = scalar, U16, 222, "deg C", 1, 0 -rawTps1Primary = scalar, S16, 224, "V", 0.001, 0 -rawPpsPrimary = scalar, S16, 226, "V", 0.001, 0 -rawClt = scalar, S16, 228, "V", 0.001, 0 -rawIat = scalar, S16, 230, "V", 0.001, 0 -rawOilPressure = scalar, S16, 232, "V", 0.001, 0 -fuelClosedLoopBinIdx = scalar, U08, 234, "", 1, 0 -tcuCurrentGear = scalar, S08, 235, "gear", 1, 0 -knock1 = scalar, S08, 236, "dBv", 1, 0 -knock2 = scalar, S08, 237, "dBv", 1, 0 -knock3 = scalar, S08, 238, "dBv", 1, 0 -knock4 = scalar, S08, 239, "dBv", 1, 0 -knock5 = scalar, S08, 240, "dBv", 1, 0 -knock6 = scalar, S08, 241, "dBv", 1, 0 -knock7 = scalar, S08, 242, "dBv", 1, 0 -knock8 = scalar, S08, 243, "dBv", 1, 0 -knock9 = scalar, S08, 244, "dBv", 1, 0 -knock10 = scalar, S08, 245, "dBv", 1, 0 -knock11 = scalar, S08, 246, "dBv", 1, 0 -knock12 = scalar, S08, 247, "dBv", 1, 0 -AFRValue = scalar, U16, 248, "AFR", 0.001, 0 -VssAcceleration = scalar, U16, 250, "m/s2", 0.0033333333333333335, 0 -lambdaValue2 = scalar, U16, 252, "", 1.0E-4, 0 -AFRValue2 = scalar, U16, 254, "AFR", 0.001, 0 -vvtPositionB1E = scalar, S16, 256, "deg", 0.02, 0 -vvtPositionB2I = scalar, S16, 258, "deg", 0.02, 0 -vvtPositionB2E = scalar, S16, 260, "deg", 0.02, 0 -fuelPidCorrection1 = scalar, S16, 262, "%", 0.01, 0 -fuelPidCorrection2 = scalar, S16, 264, "%", 0.01, 0 -rawTps1Secondary = scalar, S16, 266, "V", 0.001, 0 -rawTps2Primary = scalar, S16, 268, "V", 0.001, 0 -rawTps2Secondary = scalar, S16, 270, "V", 0.001, 0 -knockCount = scalar, U16, 272, "", 1, 0 -accelerationZ = scalar, S16, 274, "G", 0.01, 0 -accelerationRoll = scalar, S16, 276, "G", 0.01, 0 -accelerationYaw = scalar, S16, 278, "G", 0.01, 0 -vvtTargets1 = scalar, S08, 280, "deg", 1, 0 -vvtTargets2 = scalar, S08, 281, "deg", 1, 0 -vvtTargets3 = scalar, S08, 282, "deg", 1, 0 -vvtTargets4 = scalar, S08, 283, "deg", 1, 0 -turboSpeed = scalar, U16, 284, "hz", 1, 0 -ignitionAdvanceCyl1 = scalar, S16, 286, "deg", 0.02, 0 -ignitionAdvanceCyl2 = scalar, S16, 288, "deg", 0.02, 0 -ignitionAdvanceCyl3 = scalar, S16, 290, "deg", 0.02, 0 -ignitionAdvanceCyl4 = scalar, S16, 292, "deg", 0.02, 0 -ignitionAdvanceCyl5 = scalar, S16, 294, "deg", 0.02, 0 -ignitionAdvanceCyl6 = scalar, S16, 296, "deg", 0.02, 0 -ignitionAdvanceCyl7 = scalar, S16, 298, "deg", 0.02, 0 -ignitionAdvanceCyl8 = scalar, S16, 300, "deg", 0.02, 0 -ignitionAdvanceCyl9 = scalar, S16, 302, "deg", 0.02, 0 -ignitionAdvanceCyl10 = scalar, S16, 304, "deg", 0.02, 0 -ignitionAdvanceCyl11 = scalar, S16, 306, "deg", 0.02, 0 -ignitionAdvanceCyl12 = scalar, S16, 308, "deg", 0.02, 0 -tps1Split = scalar, S16, 310, "%", 0.01, 0 -tps2Split = scalar, S16, 312, "%", 0.01, 0 -tps12Split = scalar, S16, 314, "%", 0.01, 0 -accPedalSplit = scalar, S16, 316, "%", 0.01, 0 -sparkCutReason = scalar, S08, 318, "code", 1, 0 -fuelCutReason = scalar, S08, 319, "code", 1, 0 -mafEstimate = scalar, U16, 320, "kg/h", 0.1, 0 -instantRpm = scalar, U16, 322, "rpm", 1, 0 -rawMap = scalar, U16, 324, "V", 0.001, 0 -rawAfr = scalar, U16, 326, "V", 0.001, 0 -calibrationValue2 = scalar, F32, 328, "", 1, 0 -luaInvocationCounter = scalar, U32, 332, "count", 1, 0 -luaLastCycleDuration = scalar, U32, 336, "nt", 1, 0 -tcu_currentRange = scalar, U08, 340, "", 1, 0 -tcRatio = scalar, U16, 342, "value", 0.01, 0 -lastShiftTime = scalar, F32, 344, "", 1, 0 -vssEdgeCounter = scalar, U32, 348, "", 1, 0 -issEdgeCounter = scalar, U32, 352, "", 1, 0 -auxLinear1 = scalar, S16, 356, "", 0.01, 0 -auxLinear2 = scalar, S16, 358, "", 0.01, 0 -fallbackMap = scalar, U16, 360, "kPa", 0.1, 0 -instantMAPValue = scalar, U16, 362, "kPa", 0.03333333333333333, 0 -maxLockedDuration = scalar, U16, 364, "us", 1, 0 -canWriteOk = scalar, U16, 366, "", 1, 0 -canWriteNotOk = scalar, U16, 368, "", 1, 0 -triggerPrimaryFall = scalar, U32, 372, "", 1, 0 -triggerPrimaryRise = scalar, U32, 376, "", 1, 0 -triggerSecondaryFall = scalar, U32, 380, "", 1, 0 -triggerSecondaryRise = scalar, U32, 384, "", 1, 0 -triggerVvtFall = scalar, U32, 388, "", 1, 0 -triggerVvtRise = scalar, U32, 392, "", 1, 0 -starterState = scalar, U08, 396, "", 1, 0 -starterRelayDisable = scalar, U08, 397, "", 1, 0 -multiSparkCounter = scalar, U08, 398, "", 1, 0 -extiOverflowCount = scalar, U08, 399, "", 1, 0 -alternatorStatus_pTerm = scalar, F32, 400, "", 1, 0 -alternatorStatus_iTerm = scalar, S16, 404, "", 0.01, 0 -alternatorStatus_dTerm = scalar, S16, 406, "", 0.01, 0 -alternatorStatus_output = scalar, S16, 408, "", 0.01, 0 -alternatorStatus_error = scalar, S16, 410, "", 0.01, 0 -alternatorStatus_resetCounter = scalar, U32, 412, "", 1, 0 -idleStatus_pTerm = scalar, F32, 416, "", 1, 0 -idleStatus_iTerm = scalar, S16, 420, "", 0.01, 0 -idleStatus_dTerm = scalar, S16, 422, "", 0.01, 0 -idleStatus_output = scalar, S16, 424, "", 0.01, 0 -idleStatus_error = scalar, S16, 426, "", 0.01, 0 -idleStatus_resetCounter = scalar, U32, 428, "", 1, 0 -etbStatus_pTerm = scalar, F32, 432, "", 1, 0 -etbStatus_iTerm = scalar, S16, 436, "", 0.01, 0 -etbStatus_dTerm = scalar, S16, 438, "", 0.01, 0 -etbStatus_output = scalar, S16, 440, "", 0.01, 0 -etbStatus_error = scalar, S16, 442, "", 0.01, 0 -etbStatus_resetCounter = scalar, U32, 444, "", 1, 0 -boostStatus_pTerm = scalar, F32, 448, "", 1, 0 -boostStatus_iTerm = scalar, S16, 452, "", 0.01, 0 -boostStatus_dTerm = scalar, S16, 454, "", 0.01, 0 -boostStatus_output = scalar, S16, 456, "", 0.01, 0 -boostStatus_error = scalar, S16, 458, "", 0.01, 0 -boostStatus_resetCounter = scalar, U32, 460, "", 1, 0 -wastegateDcStatus_pTerm = scalar, F32, 464, "", 1, 0 -wastegateDcStatus_iTerm = scalar, S16, 468, "", 0.01, 0 -wastegateDcStatus_dTerm = scalar, S16, 470, "", 0.01, 0 -wastegateDcStatus_output = scalar, S16, 472, "", 0.01, 0 -wastegateDcStatus_error = scalar, S16, 474, "", 0.01, 0 -wastegateDcStatus_resetCounter = scalar, U32, 476, "", 1, 0 -vvtStatus1_pTerm = scalar, F32, 480, "", 1, 0 -vvtStatus1_iTerm = scalar, S16, 484, "", 0.01, 0 -vvtStatus1_dTerm = scalar, S16, 486, "", 0.01, 0 -vvtStatus1_output = scalar, S16, 488, "", 0.01, 0 -vvtStatus1_error = scalar, S16, 490, "", 0.01, 0 -vvtStatus1_resetCounter = scalar, U32, 492, "", 1, 0 -vvtStatus2_pTerm = scalar, F32, 496, "", 1, 0 -vvtStatus2_iTerm = scalar, S16, 500, "", 0.01, 0 -vvtStatus2_dTerm = scalar, S16, 502, "", 0.01, 0 -vvtStatus2_output = scalar, S16, 504, "", 0.01, 0 -vvtStatus2_error = scalar, S16, 506, "", 0.01, 0 -vvtStatus2_resetCounter = scalar, U32, 508, "", 1, 0 -vvtStatus3_pTerm = scalar, F32, 512, "", 1, 0 -vvtStatus3_iTerm = scalar, S16, 516, "", 0.01, 0 -vvtStatus3_dTerm = scalar, S16, 518, "", 0.01, 0 -vvtStatus3_output = scalar, S16, 520, "", 0.01, 0 -vvtStatus3_error = scalar, S16, 522, "", 0.01, 0 -vvtStatus3_resetCounter = scalar, U32, 524, "", 1, 0 -vvtStatus4_pTerm = scalar, F32, 528, "", 1, 0 -vvtStatus4_iTerm = scalar, S16, 532, "", 0.01, 0 -vvtStatus4_dTerm = scalar, S16, 534, "", 0.01, 0 -vvtStatus4_output = scalar, S16, 536, "", 0.01, 0 -vvtStatus4_error = scalar, S16, 538, "", 0.01, 0 -vvtStatus4_resetCounter = scalar, U32, 540, "", 1, 0 -auxSpeed1 = scalar, U16, 544, "s", 1, 0 -auxSpeed2 = scalar, U16, 546, "s", 1, 0 -ISSValue = scalar, U16, 548, "RPM", 1, 0 -rawAnalogInput1 = scalar, S16, 550, "V", 0.001, 0 -rawAnalogInput2 = scalar, S16, 552, "V", 0.001, 0 -rawAnalogInput3 = scalar, S16, 554, "V", 0.001, 0 -rawAnalogInput4 = scalar, S16, 556, "V", 0.001, 0 -rawAnalogInput5 = scalar, S16, 558, "V", 0.001, 0 -rawAnalogInput6 = scalar, S16, 560, "V", 0.001, 0 -rawAnalogInput7 = scalar, S16, 562, "V", 0.001, 0 -rawAnalogInput8 = scalar, S16, 564, "V", 0.001, 0 -gppwmOutput1 = scalar, U08, 566, "%", 0.5, 0 -gppwmOutput2 = scalar, U08, 567, "%", 0.5, 0 -gppwmOutput3 = scalar, U08, 568, "%", 0.5, 0 -gppwmOutput4 = scalar, U08, 569, "%", 0.5, 0 -gppwmXAxis1 = scalar, S16, 570, "", 1, 0 -gppwmXAxis2 = scalar, S16, 572, "", 1, 0 -gppwmXAxis3 = scalar, S16, 574, "", 1, 0 -gppwmXAxis4 = scalar, S16, 576, "", 1, 0 -gppwmYAxis1 = scalar, S16, 578, "", 0.1, 0 -gppwmYAxis2 = scalar, S16, 580, "", 0.1, 0 -gppwmYAxis3 = scalar, S16, 582, "", 0.1, 0 -gppwmYAxis4 = scalar, S16, 584, "", 0.1, 0 -rawBattery = scalar, S16, 586, "V", 0.001, 0 -ignBlendParameter1 = scalar, S16, 588, "", 0.1, 0 -ignBlendParameter2 = scalar, S16, 590, "", 0.1, 0 -ignBlendParameter3 = scalar, S16, 592, "", 0.1, 0 -ignBlendParameter4 = scalar, S16, 594, "", 0.1, 0 -ignBlendBias1 = scalar, U08, 596, "%", 0.5, 0 -ignBlendBias2 = scalar, U08, 597, "%", 0.5, 0 -ignBlendBias3 = scalar, U08, 598, "%", 0.5, 0 -ignBlendBias4 = scalar, U08, 599, "%", 0.5, 0 -ignBlendOutput1 = scalar, S16, 600, "deg", 0.01, 0 -ignBlendOutput2 = scalar, S16, 602, "deg", 0.01, 0 -ignBlendOutput3 = scalar, S16, 604, "deg", 0.01, 0 -ignBlendOutput4 = scalar, S16, 606, "deg", 0.01, 0 -veBlendParameter1 = scalar, S16, 608, "", 0.1, 0 -veBlendParameter2 = scalar, S16, 610, "", 0.1, 0 -veBlendParameter3 = scalar, S16, 612, "", 0.1, 0 -veBlendParameter4 = scalar, S16, 614, "", 0.1, 0 -veBlendBias1 = scalar, U08, 616, "%", 0.5, 0 -veBlendBias2 = scalar, U08, 617, "%", 0.5, 0 -veBlendBias3 = scalar, U08, 618, "%", 0.5, 0 -veBlendBias4 = scalar, U08, 619, "%", 0.5, 0 -veBlendOutput1 = scalar, S16, 620, "%", 0.01, 0 -veBlendOutput2 = scalar, S16, 622, "%", 0.01, 0 -veBlendOutput3 = scalar, S16, 624, "%", 0.01, 0 -veBlendOutput4 = scalar, S16, 626, "%", 0.01, 0 -boostOpenLoopBlendParameter1 = scalar, S16, 628, "", 0.1, 0 -boostOpenLoopBlendParameter2 = scalar, S16, 630, "", 0.1, 0 -boostOpenLoopBlendBias1 = scalar, U08, 632, "%", 0.5, 0 -boostOpenLoopBlendBias2 = scalar, U08, 633, "%", 0.5, 0 -boostOpenLoopBlendOutput1 = scalar, S08, 634, "%", 1, 0 -boostOpenLoopBlendOutput2 = scalar, S08, 635, "%", 1, 0 -boostClosedLoopBlendParameter1 = scalar, S16, 636, "", 0.1, 0 -boostClosedLoopBlendParameter2 = scalar, S16, 638, "", 0.1, 0 -boostClosedLoopBlendBias1 = scalar, U08, 640, "%", 0.5, 0 -boostClosedLoopBlendBias2 = scalar, U08, 641, "%", 0.5, 0 -boostClosedLoopBlendOutput1 = scalar, S16, 642, "%", 0.1, 0 -boostClosedLoopBlendOutput2 = scalar, S16, 644, "%", 0.1, 0 -coilState1 = bits, U32, 648, [0:0] -coilState2 = bits, U32, 648, [1:1] -coilState3 = bits, U32, 648, [2:2] -coilState4 = bits, U32, 648, [3:3] -coilState5 = bits, U32, 648, [4:4] -coilState6 = bits, U32, 648, [5:5] -coilState7 = bits, U32, 648, [6:6] -coilState8 = bits, U32, 648, [7:7] -coilState9 = bits, U32, 648, [8:8] -coilState10 = bits, U32, 648, [9:9] -coilState11 = bits, U32, 648, [10:10] -coilState12 = bits, U32, 648, [11:11] -injectorState1 = bits, U32, 648, [12:12] -injectorState2 = bits, U32, 648, [13:13] -injectorState3 = bits, U32, 648, [14:14] -injectorState4 = bits, U32, 648, [15:15] -injectorState5 = bits, U32, 648, [16:16] -injectorState6 = bits, U32, 648, [17:17] -injectorState7 = bits, U32, 648, [18:18] -injectorState8 = bits, U32, 648, [19:19] -injectorState9 = bits, U32, 648, [20:20] -injectorState10 = bits, U32, 648, [21:21] -injectorState11 = bits, U32, 648, [22:22] -injectorState12 = bits, U32, 648, [23:23] -outputRequestPeriod = scalar, U32, 652, "", 1, 0 -mapFast = scalar, F32, 656, "", 1, 0 -luaGauges1 = scalar, F32, 660, "value", 1, 0 -luaGauges2 = scalar, F32, 664, "value", 1, 0 -rawMaf2 = scalar, U16, 668, "V", 0.001, 0 -mafMeasured2 = scalar, U16, 670, "kg/h", 0.1, 0 -schedulingUsedCount = scalar, U16, 672, "", 1, 0 -Gego = scalar, U16, 674, "%", 0.01, 0 -testBenchIter = scalar, U16, 676, "count", 1, 0 -unusedAtTheEnd1 = scalar, U08, 678, "", 1, 0 -unusedAtTheEnd2 = scalar, U08, 679, "", 1, 0 -unusedAtTheEnd3 = scalar, U08, 680, "", 1, 0 -unusedAtTheEnd4 = scalar, U08, 681, "", 1, 0 -unusedAtTheEnd5 = scalar, U08, 682, "", 1, 0 -unusedAtTheEnd6 = scalar, U08, 683, "", 1, 0 -unusedAtTheEnd7 = scalar, U08, 684, "", 1, 0 -unusedAtTheEnd8 = scalar, U08, 685, "", 1, 0 -unusedAtTheEnd9 = scalar, U08, 686, "", 1, 0 -unusedAtTheEnd10 = scalar, U08, 687, "", 1, 0 -unusedAtTheEnd11 = scalar, U08, 688, "", 1, 0 -unusedAtTheEnd12 = scalar, U08, 689, "", 1, 0 -unusedAtTheEnd13 = scalar, U08, 690, "", 1, 0 -unusedAtTheEnd14 = scalar, U08, 691, "", 1, 0 -unusedAtTheEnd15 = scalar, U08, 692, "", 1, 0 -unusedAtTheEnd16 = scalar, U08, 693, "", 1, 0 -unusedAtTheEnd17 = scalar, U08, 694, "", 1, 0 -unusedAtTheEnd18 = scalar, U08, 695, "", 1, 0 -unusedAtTheEnd19 = scalar, U08, 696, "", 1, 0 -unusedAtTheEnd20 = scalar, U08, 697, "", 1, 0 -unusedAtTheEnd21 = scalar, U08, 698, "", 1, 0 -unusedAtTheEnd22 = scalar, U08, 699, "", 1, 0 -unusedAtTheEnd23 = scalar, U08, 700, "", 1, 0 -unusedAtTheEnd24 = scalar, U08, 701, "", 1, 0 -unusedAtTheEnd25 = scalar, U08, 702, "", 1, 0 -unusedAtTheEnd26 = scalar, U08, 703, "", 1, 0 -unusedAtTheEnd27 = scalar, U08, 704, "", 1, 0 -unusedAtTheEnd28 = scalar, U08, 705, "", 1, 0 -unusedAtTheEnd29 = scalar, U08, 706, "", 1, 0 -unusedAtTheEnd30 = scalar, U08, 707, "", 1, 0 -unusedAtTheEnd31 = scalar, U08, 708, "", 1, 0 -unusedAtTheEnd32 = scalar, U08, 709, "", 1, 0 -unusedAtTheEnd33 = scalar, U08, 710, "", 1, 0 -unusedAtTheEnd34 = scalar, U08, 711, "", 1, 0 -unusedAtTheEnd35 = scalar, U08, 712, "", 1, 0 -unusedAtTheEnd36 = scalar, U08, 713, "", 1, 0 -unusedAtTheEnd37 = scalar, U08, 714, "", 1, 0 -unusedAtTheEnd38 = scalar, U08, 715, "", 1, 0 -unusedAtTheEnd39 = scalar, U08, 716, "", 1, 0 -unusedAtTheEnd40 = scalar, U08, 717, "", 1, 0 -unusedAtTheEnd41 = scalar, U08, 718, "", 1, 0 -unusedAtTheEnd42 = scalar, U08, 719, "", 1, 0 -unusedAtTheEnd43 = scalar, U08, 720, "", 1, 0 -unusedAtTheEnd44 = scalar, U08, 721, "", 1, 0 -unusedAtTheEnd45 = scalar, U08, 722, "", 1, 0 -unusedAtTheEnd46 = scalar, U08, 723, "", 1, 0 -unusedAtTheEnd47 = scalar, U08, 724, "", 1, 0 -unusedAtTheEnd48 = scalar, U08, 725, "", 1, 0 -unusedAtTheEnd49 = scalar, U08, 726, "", 1, 0 -unusedAtTheEnd50 = scalar, U08, 727, "", 1, 0 -unusedAtTheEnd51 = scalar, U08, 728, "", 1, 0 -unusedAtTheEnd52 = scalar, U08, 729, "", 1, 0 -unusedAtTheEnd53 = scalar, U08, 730, "", 1, 0 -unusedAtTheEnd54 = scalar, U08, 731, "", 1, 0 -unusedAtTheEnd55 = scalar, U08, 732, "", 1, 0 -unusedAtTheEnd56 = scalar, U08, 733, "", 1, 0 -unusedAtTheEnd57 = scalar, U08, 734, "", 1, 0 -unusedAtTheEnd58 = scalar, U08, 735, "", 1, 0 -unusedAtTheEnd59 = scalar, U08, 736, "", 1, 0 -unusedAtTheEnd60 = scalar, U08, 737, "", 1, 0 -unusedAtTheEnd61 = scalar, U08, 738, "", 1, 0 -unusedAtTheEnd62 = scalar, U08, 739, "", 1, 0 -unusedAtTheEnd63 = scalar, U08, 740, "", 1, 0 -unusedAtTheEnd64 = scalar, U08, 741, "", 1, 0 -unusedAtTheEnd65 = scalar, U08, 742, "", 1, 0 -unusedAtTheEnd66 = scalar, U08, 743, "", 1, 0 -unusedAtTheEnd67 = scalar, U08, 744, "", 1, 0 -unusedAtTheEnd68 = scalar, U08, 745, "", 1, 0 -unusedAtTheEnd69 = scalar, U08, 746, "", 1, 0 -unusedAtTheEnd70 = scalar, U08, 747, "", 1, 0 -unusedAtTheEnd71 = scalar, U08, 748, "", 1, 0 -unusedAtTheEnd72 = scalar, U08, 749, "", 1, 0 -unusedAtTheEnd73 = scalar, U08, 750, "", 1, 0 -unusedAtTheEnd74 = scalar, U08, 751, "", 1, 0 -unusedAtTheEnd75 = scalar, U08, 752, "", 1, 0 -unusedAtTheEnd76 = scalar, U08, 753, "", 1, 0 -unusedAtTheEnd77 = scalar, U08, 754, "", 1, 0 -unusedAtTheEnd78 = scalar, U08, 755, "", 1, 0 -unusedAtTheEnd79 = scalar, U08, 756, "", 1, 0 -unusedAtTheEnd80 = scalar, U08, 757, "", 1, 0 -unusedAtTheEnd81 = scalar, U08, 758, "", 1, 0 -unusedAtTheEnd82 = scalar, U08, 759, "", 1, 0 -unusedAtTheEnd83 = scalar, U08, 760, "", 1, 0 -unusedAtTheEnd84 = scalar, U08, 761, "", 1, 0 -unusedAtTheEnd85 = scalar, U08, 762, "", 1, 0 -unusedAtTheEnd86 = scalar, U08, 763, "", 1, 0 -unusedAtTheEnd87 = scalar, U08, 764, "", 1, 0 -unusedAtTheEnd88 = scalar, U08, 765, "", 1, 0 -unusedAtTheEnd89 = scalar, U08, 766, "", 1, 0 -unusedAtTheEnd90 = scalar, U08, 767, "", 1, 0 -unusedAtTheEnd91 = scalar, U08, 768, "", 1, 0 -unusedAtTheEnd92 = scalar, U08, 769, "", 1, 0 -unusedAtTheEnd93 = scalar, U08, 770, "", 1, 0 -unusedAtTheEnd94 = scalar, U08, 771, "", 1, 0 -unusedAtTheEnd95 = scalar, U08, 772, "", 1, 0 -unusedAtTheEnd96 = scalar, U08, 773, "", 1, 0 -unusedAtTheEnd97 = scalar, U08, 774, "", 1, 0 -unusedAtTheEnd98 = scalar, U08, 775, "", 1, 0 -unusedAtTheEnd99 = scalar, U08, 776, "", 1, 0 -unusedAtTheEnd100 = scalar, U08, 777, "", 1, 0 -unusedAtTheEnd101 = scalar, U08, 778, "", 1, 0 -unusedAtTheEnd102 = scalar, U08, 779, "", 1, 0 -unusedAtTheEnd103 = scalar, U08, 780, "", 1, 0 -unusedAtTheEnd104 = scalar, U08, 781, "", 1, 0 -unusedAtTheEnd105 = scalar, U08, 782, "", 1, 0 -unusedAtTheEnd106 = scalar, U08, 783, "", 1, 0 -unusedAtTheEnd107 = scalar, U08, 784, "", 1, 0 -unusedAtTheEnd108 = scalar, U08, 785, "", 1, 0 -unusedAtTheEnd109 = scalar, U08, 786, "", 1, 0 -unusedAtTheEnd110 = scalar, U08, 787, "", 1, 0 -unusedAtTheEnd111 = scalar, U08, 788, "", 1, 0 -unusedAtTheEnd112 = scalar, U08, 789, "", 1, 0 -unusedAtTheEnd113 = scalar, U08, 790, "", 1, 0 -unusedAtTheEnd114 = scalar, U08, 791, "", 1, 0 -unusedAtTheEnd115 = scalar, U08, 792, "", 1, 0 -unusedAtTheEnd116 = scalar, U08, 793, "", 1, 0 -unusedAtTheEnd117 = scalar, U08, 794, "", 1, 0 -unusedAtTheEnd118 = scalar, U08, 795, "", 1, 0 -unusedAtTheEnd119 = scalar, U08, 796, "", 1, 0 -unusedAtTheEnd120 = scalar, U08, 797, "", 1, 0 -unusedAtTheEnd121 = scalar, U08, 798, "", 1, 0 -unusedAtTheEnd122 = scalar, U08, 799, "", 1, 0 -unusedAtTheEnd123 = scalar, U08, 800, "", 1, 0 -unusedAtTheEnd124 = scalar, U08, 801, "", 1, 0 -unusedAtTheEnd125 = scalar, U08, 802, "", 1, 0 -unusedAtTheEnd126 = scalar, U08, 803, "", 1, 0 -unusedAtTheEnd127 = scalar, U08, 804, "", 1, 0 -unusedAtTheEnd128 = scalar, U08, 805, "", 1, 0 -unusedAtTheEnd129 = scalar, U08, 806, "", 1, 0 -unusedAtTheEnd130 = scalar, U08, 807, "", 1, 0 -unusedAtTheEnd131 = scalar, U08, 808, "", 1, 0 -unusedAtTheEnd132 = scalar, U08, 809, "", 1, 0 -unusedAtTheEnd133 = scalar, U08, 810, "", 1, 0 -unusedAtTheEnd134 = scalar, U08, 811, "", 1, 0 -unusedAtTheEnd135 = scalar, U08, 812, "", 1, 0 -unusedAtTheEnd136 = scalar, U08, 813, "", 1, 0 -unusedAtTheEnd137 = scalar, U08, 814, "", 1, 0 -unusedAtTheEnd138 = scalar, U08, 815, "", 1, 0 -unusedAtTheEnd139 = scalar, U08, 816, "", 1, 0 -unusedAtTheEnd140 = scalar, U08, 817, "", 1, 0 -; total TS size = 820 -totalFuelCorrection = scalar, F32, 820, "mult", 1, 0 -running_postCrankingFuelCorrection = scalar, F32, 824, "", 1, 0 -running_intakeTemperatureCoefficient = scalar, F32, 828, "", 1, 0 -running_coolantTemperatureCoefficient = scalar, F32, 832, "", 1, 0 -running_timeSinceCrankingInSecs = scalar, F32, 836, "secs", 1, 0 -running_baseFuel = scalar, U16, 840, "mg", 0.01, 0 -running_fuel = scalar, U16, 842, "mg", 0.01, 0 -afrTableYAxis = scalar, U16, 844, "%", 0.01, 0 -targetLambda = scalar, U16, 846, "", 1.0E-4, 0 -targetAFR = scalar, U16, 848, "ratio", 0.001, 0 -stoichiometricRatio = scalar, U16, 850, "ratio", 0.001, 0 -sdTcharge_coff = scalar, F32, 852, "", 1, 0 -sdAirMassInOneCylinder = scalar, F32, 856, "g", 1, 0 -; total TS size = 860 -baseDwell = scalar, F32, 860, "ms", 1, 0 -sparkDwell = scalar, F32, 864, "ms", 1, 0 -dwellAngle = scalar, F32, 868, "deg", 1, 0 -cltTimingCorrection = scalar, S16, 872, "deg", 0.01, 0 -timingIatCorrection = scalar, S16, 874, "deg", 0.01, 0 -timingPidCorrection = scalar, S16, 876, "deg", 0.01, 0 -dwellVoltageCorrection = scalar, F32, 880, "", 1, 0 -luaTimingAdd = scalar, F32, 884, "deg", 1, 0 -luaTimingMult = scalar, F32, 888, "deg", 1, 0 -; total TS size = 892 -m_knockRetard = scalar, F32, 892, "", 1, 0 +totalTriggerErrorCounter = scalar, U32, 128, "counter", 1, 0 +orderingErrorCounter = scalar, U32, 132, "", 1, 0 +warningCounter = scalar, U16, 136, "count", 1, 0 +lastErrorCode = scalar, U16, 138, "error", 1, 0 +recentErrorCode1 = scalar, U16, 140, "error", 1, 0 +recentErrorCode2 = scalar, U16, 142, "error", 1, 0 +recentErrorCode3 = scalar, U16, 144, "error", 1, 0 +recentErrorCode4 = scalar, U16, 146, "error", 1, 0 +recentErrorCode5 = scalar, U16, 148, "error", 1, 0 +recentErrorCode6 = scalar, U16, 150, "error", 1, 0 +recentErrorCode7 = scalar, U16, 152, "error", 1, 0 +recentErrorCode8 = scalar, U16, 154, "error", 1, 0 +debugFloatField1 = scalar, F32, 156, "val", 1, 0 +debugFloatField2 = scalar, F32, 160, "val", 1, 0 +debugFloatField3 = scalar, F32, 164, "val", 1, 0 +debugFloatField4 = scalar, F32, 168, "val", 1, 0 +debugFloatField5 = scalar, F32, 172, "val", 1, 0 +debugFloatField6 = scalar, F32, 176, "val", 1, 0 +debugFloatField7 = scalar, F32, 180, "val", 1, 0 +debugIntField1 = scalar, U32, 184, "val", 1, 0 +debugIntField2 = scalar, U32, 188, "val", 1, 0 +debugIntField3 = scalar, U32, 192, "val", 1, 0 +debugIntField4 = scalar, S16, 196, "val", 1, 0 +debugIntField5 = scalar, S16, 198, "val", 1, 0 +egt1 = scalar, U16, 200, "deg C", 1, 0 +egt2 = scalar, U16, 202, "deg C", 1, 0 +egt3 = scalar, U16, 204, "deg C", 1, 0 +egt4 = scalar, U16, 206, "deg C", 1, 0 +egt5 = scalar, U16, 208, "deg C", 1, 0 +egt6 = scalar, U16, 210, "deg C", 1, 0 +egt7 = scalar, U16, 212, "deg C", 1, 0 +egt8 = scalar, U16, 214, "deg C", 1, 0 +rawTps1Primary = scalar, S16, 216, "V", 0.001, 0 +rawPpsPrimary = scalar, S16, 218, "V", 0.001, 0 +rawClt = scalar, S16, 220, "V", 0.001, 0 +rawIat = scalar, S16, 222, "V", 0.001, 0 +rawOilPressure = scalar, S16, 224, "V", 0.001, 0 +fuelClosedLoopBinIdx = scalar, U08, 226, "", 1, 0 +tcuCurrentGear = scalar, S08, 227, "gear", 1, 0 +AFRValue = scalar, U16, 228, "AFR", 0.001, 0 +VssAcceleration = scalar, U16, 230, "m/s2", 0.0033333333333333335, 0 +lambdaValue2 = scalar, U16, 232, "", 1.0E-4, 0 +AFRValue2 = scalar, U16, 234, "AFR", 0.001, 0 +vvtPositionB1E = scalar, S16, 236, "deg", 0.02, 0 +vvtPositionB2I = scalar, S16, 238, "deg", 0.02, 0 +vvtPositionB2E = scalar, S16, 240, "deg", 0.02, 0 +fuelPidCorrection1 = scalar, S16, 242, "%", 0.01, 0 +fuelPidCorrection2 = scalar, S16, 244, "%", 0.01, 0 +rawTps1Secondary = scalar, S16, 246, "V", 0.001, 0 +rawTps2Primary = scalar, S16, 248, "V", 0.001, 0 +rawTps2Secondary = scalar, S16, 250, "V", 0.001, 0 +accelerationZ = scalar, S16, 252, "G", 0.01, 0 +accelerationRoll = scalar, S16, 254, "G", 0.01, 0 +accelerationYaw = scalar, S16, 256, "G", 0.01, 0 +vvtTargets1 = scalar, S08, 258, "deg", 1, 0 +vvtTargets2 = scalar, S08, 259, "deg", 1, 0 +vvtTargets3 = scalar, S08, 260, "deg", 1, 0 +vvtTargets4 = scalar, S08, 261, "deg", 1, 0 +turboSpeed = scalar, U16, 262, "hz", 1, 0 +ignitionAdvanceCyl1 = scalar, S16, 264, "deg", 0.02, 0 +ignitionAdvanceCyl2 = scalar, S16, 266, "deg", 0.02, 0 +ignitionAdvanceCyl3 = scalar, S16, 268, "deg", 0.02, 0 +ignitionAdvanceCyl4 = scalar, S16, 270, "deg", 0.02, 0 +ignitionAdvanceCyl5 = scalar, S16, 272, "deg", 0.02, 0 +ignitionAdvanceCyl6 = scalar, S16, 274, "deg", 0.02, 0 +ignitionAdvanceCyl7 = scalar, S16, 276, "deg", 0.02, 0 +ignitionAdvanceCyl8 = scalar, S16, 278, "deg", 0.02, 0 +ignitionAdvanceCyl9 = scalar, S16, 280, "deg", 0.02, 0 +ignitionAdvanceCyl10 = scalar, S16, 282, "deg", 0.02, 0 +ignitionAdvanceCyl11 = scalar, S16, 284, "deg", 0.02, 0 +ignitionAdvanceCyl12 = scalar, S16, 286, "deg", 0.02, 0 +tps1Split = scalar, S16, 288, "%", 0.01, 0 +tps2Split = scalar, S16, 290, "%", 0.01, 0 +tps12Split = scalar, S16, 292, "%", 0.01, 0 +accPedalSplit = scalar, S16, 294, "%", 0.01, 0 +sparkCutReason = scalar, S08, 296, "code", 1, 0 +fuelCutReason = scalar, S08, 297, "code", 1, 0 +mafEstimate = scalar, U16, 298, "kg/h", 0.1, 0 +instantRpm = scalar, U16, 300, "rpm", 1, 0 +rawMap = scalar, U16, 302, "V", 0.001, 0 +rawAfr = scalar, U16, 304, "V", 0.001, 0 +calibrationValue2 = scalar, F32, 308, "", 1, 0 +luaInvocationCounter = scalar, U32, 312, "count", 1, 0 +luaLastCycleDuration = scalar, U32, 316, "nt", 1, 0 +tcu_currentRange = scalar, U08, 320, "", 1, 0 +tcRatio = scalar, U16, 322, "value", 0.01, 0 +lastShiftTime = scalar, F32, 324, "", 1, 0 +vssEdgeCounter = scalar, U32, 328, "", 1, 0 +issEdgeCounter = scalar, U32, 332, "", 1, 0 +auxLinear1 = scalar, S16, 336, "", 0.01, 0 +auxLinear2 = scalar, S16, 338, "", 0.01, 0 +fallbackMap = scalar, U16, 340, "kPa", 0.1, 0 +instantMAPValue = scalar, U16, 342, "kPa", 0.03333333333333333, 0 +maxLockedDuration = scalar, U16, 344, "us", 1, 0 +canWriteOk = scalar, U16, 346, "", 1, 0 +canWriteNotOk = scalar, U16, 348, "", 1, 0 +triggerPrimaryFall = scalar, U32, 352, "", 1, 0 +triggerPrimaryRise = scalar, U32, 356, "", 1, 0 +triggerSecondaryFall = scalar, U32, 360, "", 1, 0 +triggerSecondaryRise = scalar, U32, 364, "", 1, 0 +triggerVvtFall = scalar, U32, 368, "", 1, 0 +triggerVvtRise = scalar, U32, 372, "", 1, 0 +starterState = scalar, U08, 376, "", 1, 0 +starterRelayDisable = scalar, U08, 377, "", 1, 0 +multiSparkCounter = scalar, U08, 378, "", 1, 0 +extiOverflowCount = scalar, U08, 379, "", 1, 0 +alternatorStatus_pTerm = scalar, F32, 380, "", 1, 0 +alternatorStatus_iTerm = scalar, S16, 384, "", 0.01, 0 +alternatorStatus_dTerm = scalar, S16, 386, "", 0.01, 0 +alternatorStatus_output = scalar, S16, 388, "", 0.01, 0 +alternatorStatus_error = scalar, S16, 390, "", 0.01, 0 +alternatorStatus_resetCounter = scalar, U32, 392, "", 1, 0 +idleStatus_pTerm = scalar, F32, 396, "", 1, 0 +idleStatus_iTerm = scalar, S16, 400, "", 0.01, 0 +idleStatus_dTerm = scalar, S16, 402, "", 0.01, 0 +idleStatus_output = scalar, S16, 404, "", 0.01, 0 +idleStatus_error = scalar, S16, 406, "", 0.01, 0 +idleStatus_resetCounter = scalar, U32, 408, "", 1, 0 +etbStatus_pTerm = scalar, F32, 412, "", 1, 0 +etbStatus_iTerm = scalar, S16, 416, "", 0.01, 0 +etbStatus_dTerm = scalar, S16, 418, "", 0.01, 0 +etbStatus_output = scalar, S16, 420, "", 0.01, 0 +etbStatus_error = scalar, S16, 422, "", 0.01, 0 +etbStatus_resetCounter = scalar, U32, 424, "", 1, 0 +boostStatus_pTerm = scalar, F32, 428, "", 1, 0 +boostStatus_iTerm = scalar, S16, 432, "", 0.01, 0 +boostStatus_dTerm = scalar, S16, 434, "", 0.01, 0 +boostStatus_output = scalar, S16, 436, "", 0.01, 0 +boostStatus_error = scalar, S16, 438, "", 0.01, 0 +boostStatus_resetCounter = scalar, U32, 440, "", 1, 0 +wastegateDcStatus_pTerm = scalar, F32, 444, "", 1, 0 +wastegateDcStatus_iTerm = scalar, S16, 448, "", 0.01, 0 +wastegateDcStatus_dTerm = scalar, S16, 450, "", 0.01, 0 +wastegateDcStatus_output = scalar, S16, 452, "", 0.01, 0 +wastegateDcStatus_error = scalar, S16, 454, "", 0.01, 0 +wastegateDcStatus_resetCounter = scalar, U32, 456, "", 1, 0 +vvtStatus1_pTerm = scalar, F32, 460, "", 1, 0 +vvtStatus1_iTerm = scalar, S16, 464, "", 0.01, 0 +vvtStatus1_dTerm = scalar, S16, 466, "", 0.01, 0 +vvtStatus1_output = scalar, S16, 468, "", 0.01, 0 +vvtStatus1_error = scalar, S16, 470, "", 0.01, 0 +vvtStatus1_resetCounter = scalar, U32, 472, "", 1, 0 +vvtStatus2_pTerm = scalar, F32, 476, "", 1, 0 +vvtStatus2_iTerm = scalar, S16, 480, "", 0.01, 0 +vvtStatus2_dTerm = scalar, S16, 482, "", 0.01, 0 +vvtStatus2_output = scalar, S16, 484, "", 0.01, 0 +vvtStatus2_error = scalar, S16, 486, "", 0.01, 0 +vvtStatus2_resetCounter = scalar, U32, 488, "", 1, 0 +vvtStatus3_pTerm = scalar, F32, 492, "", 1, 0 +vvtStatus3_iTerm = scalar, S16, 496, "", 0.01, 0 +vvtStatus3_dTerm = scalar, S16, 498, "", 0.01, 0 +vvtStatus3_output = scalar, S16, 500, "", 0.01, 0 +vvtStatus3_error = scalar, S16, 502, "", 0.01, 0 +vvtStatus3_resetCounter = scalar, U32, 504, "", 1, 0 +vvtStatus4_pTerm = scalar, F32, 508, "", 1, 0 +vvtStatus4_iTerm = scalar, S16, 512, "", 0.01, 0 +vvtStatus4_dTerm = scalar, S16, 514, "", 0.01, 0 +vvtStatus4_output = scalar, S16, 516, "", 0.01, 0 +vvtStatus4_error = scalar, S16, 518, "", 0.01, 0 +vvtStatus4_resetCounter = scalar, U32, 520, "", 1, 0 +auxSpeed1 = scalar, U16, 524, "s", 1, 0 +auxSpeed2 = scalar, U16, 526, "s", 1, 0 +ISSValue = scalar, U16, 528, "RPM", 1, 0 +rawAnalogInput1 = scalar, S16, 530, "V", 0.001, 0 +rawAnalogInput2 = scalar, S16, 532, "V", 0.001, 0 +rawAnalogInput3 = scalar, S16, 534, "V", 0.001, 0 +rawAnalogInput4 = scalar, S16, 536, "V", 0.001, 0 +rawAnalogInput5 = scalar, S16, 538, "V", 0.001, 0 +rawAnalogInput6 = scalar, S16, 540, "V", 0.001, 0 +rawAnalogInput7 = scalar, S16, 542, "V", 0.001, 0 +rawAnalogInput8 = scalar, S16, 544, "V", 0.001, 0 +gppwmOutput1 = scalar, U08, 546, "%", 0.5, 0 +gppwmOutput2 = scalar, U08, 547, "%", 0.5, 0 +gppwmOutput3 = scalar, U08, 548, "%", 0.5, 0 +gppwmOutput4 = scalar, U08, 549, "%", 0.5, 0 +gppwmXAxis1 = scalar, S16, 550, "", 1, 0 +gppwmXAxis2 = scalar, S16, 552, "", 1, 0 +gppwmXAxis3 = scalar, S16, 554, "", 1, 0 +gppwmXAxis4 = scalar, S16, 556, "", 1, 0 +gppwmYAxis1 = scalar, S16, 558, "", 0.1, 0 +gppwmYAxis2 = scalar, S16, 560, "", 0.1, 0 +gppwmYAxis3 = scalar, S16, 562, "", 0.1, 0 +gppwmYAxis4 = scalar, S16, 564, "", 0.1, 0 +rawBattery = scalar, S16, 566, "V", 0.001, 0 +ignBlendParameter1 = scalar, S16, 568, "", 0.1, 0 +ignBlendParameter2 = scalar, S16, 570, "", 0.1, 0 +ignBlendParameter3 = scalar, S16, 572, "", 0.1, 0 +ignBlendParameter4 = scalar, S16, 574, "", 0.1, 0 +ignBlendBias1 = scalar, U08, 576, "%", 0.5, 0 +ignBlendBias2 = scalar, U08, 577, "%", 0.5, 0 +ignBlendBias3 = scalar, U08, 578, "%", 0.5, 0 +ignBlendBias4 = scalar, U08, 579, "%", 0.5, 0 +ignBlendOutput1 = scalar, S16, 580, "deg", 0.01, 0 +ignBlendOutput2 = scalar, S16, 582, "deg", 0.01, 0 +ignBlendOutput3 = scalar, S16, 584, "deg", 0.01, 0 +ignBlendOutput4 = scalar, S16, 586, "deg", 0.01, 0 +veBlendParameter1 = scalar, S16, 588, "", 0.1, 0 +veBlendParameter2 = scalar, S16, 590, "", 0.1, 0 +veBlendParameter3 = scalar, S16, 592, "", 0.1, 0 +veBlendParameter4 = scalar, S16, 594, "", 0.1, 0 +veBlendBias1 = scalar, U08, 596, "%", 0.5, 0 +veBlendBias2 = scalar, U08, 597, "%", 0.5, 0 +veBlendBias3 = scalar, U08, 598, "%", 0.5, 0 +veBlendBias4 = scalar, U08, 599, "%", 0.5, 0 +veBlendOutput1 = scalar, S16, 600, "%", 0.01, 0 +veBlendOutput2 = scalar, S16, 602, "%", 0.01, 0 +veBlendOutput3 = scalar, S16, 604, "%", 0.01, 0 +veBlendOutput4 = scalar, S16, 606, "%", 0.01, 0 +boostOpenLoopBlendParameter1 = scalar, S16, 608, "", 0.1, 0 +boostOpenLoopBlendParameter2 = scalar, S16, 610, "", 0.1, 0 +boostOpenLoopBlendBias1 = scalar, U08, 612, "%", 0.5, 0 +boostOpenLoopBlendBias2 = scalar, U08, 613, "%", 0.5, 0 +boostOpenLoopBlendOutput1 = scalar, S08, 614, "%", 1, 0 +boostOpenLoopBlendOutput2 = scalar, S08, 615, "%", 1, 0 +boostClosedLoopBlendParameter1 = scalar, S16, 616, "", 0.1, 0 +boostClosedLoopBlendParameter2 = scalar, S16, 618, "", 0.1, 0 +boostClosedLoopBlendBias1 = scalar, U08, 620, "%", 0.5, 0 +boostClosedLoopBlendBias2 = scalar, U08, 621, "%", 0.5, 0 +boostClosedLoopBlendOutput1 = scalar, S16, 622, "%", 0.1, 0 +boostClosedLoopBlendOutput2 = scalar, S16, 624, "%", 0.1, 0 +coilState1 = bits, U32, 628, [0:0] +coilState2 = bits, U32, 628, [1:1] +coilState3 = bits, U32, 628, [2:2] +coilState4 = bits, U32, 628, [3:3] +coilState5 = bits, U32, 628, [4:4] +coilState6 = bits, U32, 628, [5:5] +coilState7 = bits, U32, 628, [6:6] +coilState8 = bits, U32, 628, [7:7] +coilState9 = bits, U32, 628, [8:8] +coilState10 = bits, U32, 628, [9:9] +coilState11 = bits, U32, 628, [10:10] +coilState12 = bits, U32, 628, [11:11] +injectorState1 = bits, U32, 628, [12:12] +injectorState2 = bits, U32, 628, [13:13] +injectorState3 = bits, U32, 628, [14:14] +injectorState4 = bits, U32, 628, [15:15] +injectorState5 = bits, U32, 628, [16:16] +injectorState6 = bits, U32, 628, [17:17] +injectorState7 = bits, U32, 628, [18:18] +injectorState8 = bits, U32, 628, [19:19] +injectorState9 = bits, U32, 628, [20:20] +injectorState10 = bits, U32, 628, [21:21] +injectorState11 = bits, U32, 628, [22:22] +injectorState12 = bits, U32, 628, [23:23] +outputRequestPeriod = scalar, U32, 632, "", 1, 0 +mapFast = scalar, F32, 636, "", 1, 0 +luaGauges1 = scalar, F32, 640, "value", 1, 0 +luaGauges2 = scalar, F32, 644, "value", 1, 0 +rawMaf2 = scalar, U16, 648, "V", 0.001, 0 +mafMeasured2 = scalar, U16, 650, "kg/h", 0.1, 0 +schedulingUsedCount = scalar, U16, 652, "", 1, 0 +Gego = scalar, U16, 654, "%", 0.01, 0 +testBenchIter = scalar, U16, 656, "count", 1, 0 +oilTemp = scalar, S16, 658, "deg C", 0.01, 0 +fuelTemp = scalar, S16, 660, "deg C", 0.01, 0 +ambientTemp = scalar, S16, 662, "deg C", 0.01, 0 +compressorDischargeTemp = scalar, S16, 664, "deg C", 0.01, 0 +compressorDischargePressure = scalar, U16, 666, "kPa", 0.03333333333333333, 0 +throttleInletPressure = scalar, U16, 668, "kPa", 0.03333333333333333, 0 +ignitionOnTime = scalar, U16, 670, "sec", 1,0 +engineRunTime = scalar, U16, 672, "sec", 1,0 +distanceTraveled = scalar, U16, 674, "km", 0.1,0 +afrGasolineScale = scalar, U16, 676, "AFR", 0.001, 0 +afr2GasolineScale = scalar, U16, 678, "AFR", 0.001, 0 +unusedAtTheEnd1 = scalar, U08, 680, "", 1, 0 +unusedAtTheEnd2 = scalar, U08, 681, "", 1, 0 +unusedAtTheEnd3 = scalar, U08, 682, "", 1, 0 +unusedAtTheEnd4 = scalar, U08, 683, "", 1, 0 +unusedAtTheEnd5 = scalar, U08, 684, "", 1, 0 +unusedAtTheEnd6 = scalar, U08, 685, "", 1, 0 +unusedAtTheEnd7 = scalar, U08, 686, "", 1, 0 +unusedAtTheEnd8 = scalar, U08, 687, "", 1, 0 +unusedAtTheEnd9 = scalar, U08, 688, "", 1, 0 +unusedAtTheEnd10 = scalar, U08, 689, "", 1, 0 +unusedAtTheEnd11 = scalar, U08, 690, "", 1, 0 +unusedAtTheEnd12 = scalar, U08, 691, "", 1, 0 +unusedAtTheEnd13 = scalar, U08, 692, "", 1, 0 +unusedAtTheEnd14 = scalar, U08, 693, "", 1, 0 +unusedAtTheEnd15 = scalar, U08, 694, "", 1, 0 +unusedAtTheEnd16 = scalar, U08, 695, "", 1, 0 +unusedAtTheEnd17 = scalar, U08, 696, "", 1, 0 +unusedAtTheEnd18 = scalar, U08, 697, "", 1, 0 +unusedAtTheEnd19 = scalar, U08, 698, "", 1, 0 +unusedAtTheEnd20 = scalar, U08, 699, "", 1, 0 +unusedAtTheEnd21 = scalar, U08, 700, "", 1, 0 +unusedAtTheEnd22 = scalar, U08, 701, "", 1, 0 +unusedAtTheEnd23 = scalar, U08, 702, "", 1, 0 +unusedAtTheEnd24 = scalar, U08, 703, "", 1, 0 +unusedAtTheEnd25 = scalar, U08, 704, "", 1, 0 +unusedAtTheEnd26 = scalar, U08, 705, "", 1, 0 +unusedAtTheEnd27 = scalar, U08, 706, "", 1, 0 +unusedAtTheEnd28 = scalar, U08, 707, "", 1, 0 +unusedAtTheEnd29 = scalar, U08, 708, "", 1, 0 +unusedAtTheEnd30 = scalar, U08, 709, "", 1, 0 +unusedAtTheEnd31 = scalar, U08, 710, "", 1, 0 +unusedAtTheEnd32 = scalar, U08, 711, "", 1, 0 +unusedAtTheEnd33 = scalar, U08, 712, "", 1, 0 +unusedAtTheEnd34 = scalar, U08, 713, "", 1, 0 +unusedAtTheEnd35 = scalar, U08, 714, "", 1, 0 +unusedAtTheEnd36 = scalar, U08, 715, "", 1, 0 +unusedAtTheEnd37 = scalar, U08, 716, "", 1, 0 +unusedAtTheEnd38 = scalar, U08, 717, "", 1, 0 +unusedAtTheEnd39 = scalar, U08, 718, "", 1, 0 +unusedAtTheEnd40 = scalar, U08, 719, "", 1, 0 +unusedAtTheEnd41 = scalar, U08, 720, "", 1, 0 +unusedAtTheEnd42 = scalar, U08, 721, "", 1, 0 +unusedAtTheEnd43 = scalar, U08, 722, "", 1, 0 +unusedAtTheEnd44 = scalar, U08, 723, "", 1, 0 +unusedAtTheEnd45 = scalar, U08, 724, "", 1, 0 +unusedAtTheEnd46 = scalar, U08, 725, "", 1, 0 +unusedAtTheEnd47 = scalar, U08, 726, "", 1, 0 +unusedAtTheEnd48 = scalar, U08, 727, "", 1, 0 +unusedAtTheEnd49 = scalar, U08, 728, "", 1, 0 +unusedAtTheEnd50 = scalar, U08, 729, "", 1, 0 +unusedAtTheEnd51 = scalar, U08, 730, "", 1, 0 +unusedAtTheEnd52 = scalar, U08, 731, "", 1, 0 +unusedAtTheEnd53 = scalar, U08, 732, "", 1, 0 +unusedAtTheEnd54 = scalar, U08, 733, "", 1, 0 +unusedAtTheEnd55 = scalar, U08, 734, "", 1, 0 +unusedAtTheEnd56 = scalar, U08, 735, "", 1, 0 +unusedAtTheEnd57 = scalar, U08, 736, "", 1, 0 +unusedAtTheEnd58 = scalar, U08, 737, "", 1, 0 +unusedAtTheEnd59 = scalar, U08, 738, "", 1, 0 +unusedAtTheEnd60 = scalar, U08, 739, "", 1, 0 +unusedAtTheEnd61 = scalar, U08, 740, "", 1, 0 +unusedAtTheEnd62 = scalar, U08, 741, "", 1, 0 +unusedAtTheEnd63 = scalar, U08, 742, "", 1, 0 +unusedAtTheEnd64 = scalar, U08, 743, "", 1, 0 +unusedAtTheEnd65 = scalar, U08, 744, "", 1, 0 +unusedAtTheEnd66 = scalar, U08, 745, "", 1, 0 +unusedAtTheEnd67 = scalar, U08, 746, "", 1, 0 +unusedAtTheEnd68 = scalar, U08, 747, "", 1, 0 +unusedAtTheEnd69 = scalar, U08, 748, "", 1, 0 +unusedAtTheEnd70 = scalar, U08, 749, "", 1, 0 +unusedAtTheEnd71 = scalar, U08, 750, "", 1, 0 +unusedAtTheEnd72 = scalar, U08, 751, "", 1, 0 +unusedAtTheEnd73 = scalar, U08, 752, "", 1, 0 +unusedAtTheEnd74 = scalar, U08, 753, "", 1, 0 +unusedAtTheEnd75 = scalar, U08, 754, "", 1, 0 +unusedAtTheEnd76 = scalar, U08, 755, "", 1, 0 +unusedAtTheEnd77 = scalar, U08, 756, "", 1, 0 +unusedAtTheEnd78 = scalar, U08, 757, "", 1, 0 +unusedAtTheEnd79 = scalar, U08, 758, "", 1, 0 +unusedAtTheEnd80 = scalar, U08, 759, "", 1, 0 +unusedAtTheEnd81 = scalar, U08, 760, "", 1, 0 +unusedAtTheEnd82 = scalar, U08, 761, "", 1, 0 +unusedAtTheEnd83 = scalar, U08, 762, "", 1, 0 +unusedAtTheEnd84 = scalar, U08, 763, "", 1, 0 +unusedAtTheEnd85 = scalar, U08, 764, "", 1, 0 +unusedAtTheEnd86 = scalar, U08, 765, "", 1, 0 +unusedAtTheEnd87 = scalar, U08, 766, "", 1, 0 +unusedAtTheEnd88 = scalar, U08, 767, "", 1, 0 +unusedAtTheEnd89 = scalar, U08, 768, "", 1, 0 +unusedAtTheEnd90 = scalar, U08, 769, "", 1, 0 +unusedAtTheEnd91 = scalar, U08, 770, "", 1, 0 +unusedAtTheEnd92 = scalar, U08, 771, "", 1, 0 +unusedAtTheEnd93 = scalar, U08, 772, "", 1, 0 +unusedAtTheEnd94 = scalar, U08, 773, "", 1, 0 +unusedAtTheEnd95 = scalar, U08, 774, "", 1, 0 +unusedAtTheEnd96 = scalar, U08, 775, "", 1, 0 +unusedAtTheEnd97 = scalar, U08, 776, "", 1, 0 +unusedAtTheEnd98 = scalar, U08, 777, "", 1, 0 +unusedAtTheEnd99 = scalar, U08, 778, "", 1, 0 +unusedAtTheEnd100 = scalar, U08, 779, "", 1, 0 +unusedAtTheEnd101 = scalar, U08, 780, "", 1, 0 +unusedAtTheEnd102 = scalar, U08, 781, "", 1, 0 +unusedAtTheEnd103 = scalar, U08, 782, "", 1, 0 +unusedAtTheEnd104 = scalar, U08, 783, "", 1, 0 +unusedAtTheEnd105 = scalar, U08, 784, "", 1, 0 +unusedAtTheEnd106 = scalar, U08, 785, "", 1, 0 +unusedAtTheEnd107 = scalar, U08, 786, "", 1, 0 +unusedAtTheEnd108 = scalar, U08, 787, "", 1, 0 +unusedAtTheEnd109 = scalar, U08, 788, "", 1, 0 +unusedAtTheEnd110 = scalar, U08, 789, "", 1, 0 +unusedAtTheEnd111 = scalar, U08, 790, "", 1, 0 +unusedAtTheEnd112 = scalar, U08, 791, "", 1, 0 +unusedAtTheEnd113 = scalar, U08, 792, "", 1, 0 +unusedAtTheEnd114 = scalar, U08, 793, "", 1, 0 +unusedAtTheEnd115 = scalar, U08, 794, "", 1, 0 +unusedAtTheEnd116 = scalar, U08, 795, "", 1, 0 +unusedAtTheEnd117 = scalar, U08, 796, "", 1, 0 +unusedAtTheEnd118 = scalar, U08, 797, "", 1, 0 +unusedAtTheEnd119 = scalar, U08, 798, "", 1, 0 +unusedAtTheEnd120 = scalar, U08, 799, "", 1, 0 +; total TS size = 800 +totalFuelCorrection = scalar, F32, 800, "mult", 1, 0 +running_postCrankingFuelCorrection = scalar, F32, 804, "", 1, 0 +running_intakeTemperatureCoefficient = scalar, F32, 808, "", 1, 0 +running_coolantTemperatureCoefficient = scalar, F32, 812, "", 1, 0 +running_timeSinceCrankingInSecs = scalar, F32, 816, "secs", 1, 0 +running_baseFuel = scalar, U16, 820, "mg", 0.01, 0 +running_fuel = scalar, U16, 822, "mg", 0.01, 0 +afrTableYAxis = scalar, U16, 824, "%", 0.01, 0 +targetLambda = scalar, U16, 826, "", 1.0E-4, 0 +targetAFR = scalar, U16, 828, "ratio", 0.001, 0 +stoichiometricRatio = scalar, U16, 830, "ratio", 0.001, 0 +sdTcharge_coff = scalar, F32, 832, "", 1, 0 +sdAirMassInOneCylinder = scalar, F32, 836, "g", 1, 0 +normalizedCylinderFilling = scalar, F32, 840, "%", 1, 0 +; total TS size = 844 +baseDwell = scalar, F32, 844, "ms", 1, 0 +sparkDwell = scalar, F32, 848, "ms", 1, 0 +dwellAngle = scalar, F32, 852, "deg", 1, 0 +cltTimingCorrection = scalar, S16, 856, "deg", 0.01, 0 +timingIatCorrection = scalar, S16, 858, "deg", 0.01, 0 +timingPidCorrection = scalar, S16, 860, "deg", 0.01, 0 +dwellVoltageCorrection = scalar, F32, 864, "", 1, 0 +luaTimingAdd = scalar, F32, 868, "deg", 1, 0 +luaTimingMult = scalar, F32, 872, "deg", 1, 0 +; total TS size = 876 +m_knockLevel = scalar, F32, 876, "Volts", 1, 0 +m_knockCyl1 = scalar, S08, 880, "dBv", 1, 0 +m_knockCyl2 = scalar, S08, 881, "dBv", 1, 0 +m_knockCyl3 = scalar, S08, 882, "dBv", 1, 0 +m_knockCyl4 = scalar, S08, 883, "dBv", 1, 0 +m_knockCyl5 = scalar, S08, 884, "dBv", 1, 0 +m_knockCyl6 = scalar, S08, 885, "dBv", 1, 0 +m_knockCyl7 = scalar, S08, 886, "dBv", 1, 0 +m_knockCyl8 = scalar, S08, 887, "dBv", 1, 0 +m_knockCyl9 = scalar, S08, 888, "dBv", 1, 0 +m_knockCyl10 = scalar, S08, 889, "dBv", 1, 0 +m_knockCyl11 = scalar, S08, 890, "dBv", 1, 0 +m_knockCyl12 = scalar, S08, 891, "dBv", 1, 0 +m_knockRetard = scalar, F32, 892, "deg", 1,0 m_knockThreshold = scalar, F32, 896, "", 1, 0 m_knockCount = scalar, U32, 900, "", 1, 0 m_maximumRetard = scalar, F32, 904, "", 1, 0 @@ -703,9 +693,8 @@ isBlipping = bits, U32, 1248, [9:9] looksLikeRunning = bits, U32, 1248, [10:10] looksLikeCoasting = bits, U32, 1248, [11:11] looksLikeCrankToIdle = bits, U32, 1248, [12:12] -isVerboseIAC = bits, U32, 1248, [13:13] -isIdleCoasting = bits, U32, 1248, [14:14] -isIdleClosedLoop = bits, U32, 1248, [15:15] +isIdleCoasting = bits, U32, 1248, [13:13] +isIdleClosedLoop = bits, U32, 1248, [14:14] idleTarget = scalar, S32, 1252, "", 1, 0 targetRpmByClt = scalar, S32, 1256, "", 1, 0 targetRpmAcBump = scalar, S32, 1260, "", 1, 0 diff --git a/firmware/tunerstudio/readme.md b/firmware/tunerstudio/readme.md index a4a7c3eae9..8ab869657e 100644 --- a/firmware/tunerstudio/readme.md +++ b/firmware/tunerstudio/readme.md @@ -1,4 +1,4 @@ -# TunerStudio +# TunerStudio (TS) This directory contains the initialization and configuration files for the rusEFI interface to TunerStudio. @@ -10,6 +10,9 @@ the only files a typical end user needs. The ```translations``` directory contains non-English-language translations for TunerStudio. +In TunerStudio some fields have little question mark on the left of the name for additional field tips. +Those tips are defined in `../integration/rusefi_config.txt` + The initialization files are automatically generated from a combination of input files located both in this directory and in the board-specific directories . @@ -28,4 +31,4 @@ On Windows this may be run with ```gen_config.bat```. Q: how do I offer my changes to TS project? -A: please PR only rusefi.input. Once merged, gen_config.bat would be executed automatically and results would be pushed by automation. +A: please PR only source files (rusefi.input & rusefi_config.txt). Once merged, gen_config.bat would be executed automatically and results would be pushed by automation. diff --git a/firmware/tunerstudio/rusefi.input b/firmware/tunerstudio/rusefi.input index af33da9e5b..b433acbf51 100644 --- a/firmware/tunerstudio/rusefi.input +++ b/firmware/tunerstudio/rusefi.input @@ -152,7 +152,7 @@ enable2ndByteCanID = false veAnalyzeMap = veTableTbl, lambdaTableTbl, lambdaValue, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = lambdaTableTbl, afrTSCustom #else - veAnalyzeMap = veTableTbl, afrTableTbl, AFRValue, egoCorrectionForVeAnalyze, { 1 } + veAnalyzeMap = veTableTbl, afrTableTbl, afrGasolineScale, egoCorrectionForVeAnalyze, { 1 } lambdaTargetTables = afrTableTbl, afrTSCustom #endif @@ -292,7 +292,7 @@ enable2ndByteCanID = false requiresPowerCycle = auxAnalogInputs7 requiresPowerCycle = auxAnalogInputs8 - readOnly = warning_message + requiresPowerCycle = knockBandCustom defaultValue = gearCountArray, -1 0 1 2 3 4 5 6 7 8 readOnly = gearCountArray @@ -378,7 +378,7 @@ enable2ndByteCanID = false curve = tpsTspRpmCorrection, "TPS/TPS AE RPM Correction" columnLabel = "RPM", "Multiplier" - xAxis = 6, 16, 11 + xAxis = 0, 8000, 9 yAxis = 0, 3, 7 xBins = tpsTspCorrValuesBins, RPMValue yBins = tpsTspCorrValues @@ -1198,41 +1198,39 @@ curve = 32Curve, "3-2 Shift Solenoid Percent by Speed" [GaugeConfigurations] - gaugeCategory = "Fuel: math" -totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 -targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 -targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 - gaugeCategory = "Timing" -baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -sparkDwellGauge = sparkDwell,"Ign: Dwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 -dwellAngleGauge = dwellAngle,"ignition dwell duration", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 -cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -timingPidCorrectionGauge = timingPidCorrection,"Idle: Timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 -luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 - gaugeCategory = "Boost Control" -luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 -luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 -boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 -boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 - gaugeCategory = "ETB more" -idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 -etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 -etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 -etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 -value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 -errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 +gaugeCategory = "Fuel: math" + totalFuelCorrectionGauge = totalFuelCorrection,"Fuel: Total correction", "mult", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + running_timeSinceCrankingInSecsGauge = running_timeSinceCrankingInSecs,"running_ timeSinceCrankingInSecs", "secs", 0.0,600000.0, 0.0,600000.0, 0.0,600000.0, 0,0 + targetLambdaGauge = targetLambda,"Fuel: target lambda", "", 0.5,1.5, 0.5,1.5, 0.5,1.5, 2,2 + targetAFRGauge = targetAFR,"Fuel: target AFR", "ratio", 10.0,20.0, 10.0,20.0, 10.0,20.0, 2,2 + +gaugeCategory = "Boost Control" + luaTargetAddGauge = luaTargetAdd,"Boost: Lua target add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostOutputGauge = boostOutput,"Boost: Output", "percent", -100.0,100.0, -100.0,100.0, -100.0,100.0, 2,2 + luaTargetMultGauge = luaTargetMult,"Boost: Lua target mult", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + openLoopPartGauge = openLoopPart,"Boost: Open loop", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + luaOpenLoopAddGauge = luaOpenLoopAdd,"Boost: Lua open loop add", "v", -100.0,100.0, -100.0,100.0, -100.0,100.0, 1,1 + boostControllerClosedLoopPartGauge = boostControllerClosedLoopPart,"Boost: Closed loop", "%", -50.0,50.0, -50.0,50.0, -50.0,50.0, 1,1 + boostControlTargetGauge = boostControlTarget,"Boost: Target", "kPa", 0.0,300.0, 0.0,300.0, 0.0,300.0, 1,1 + boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 + +gaugeCategory = "ETB more" + idlePositionGauge = idlePosition,"ETB: idlePosition", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + luaAdjustmentGauge = luaAdjustment,"ETB: luaAdjustment", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + m_wastegatePositionGauge = m_wastegatePosition,"DC: wastegatePosition", "per", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 + etbDutyRateOfChangeGauge = etbDutyRateOfChange,"ETB duty rate of change", "per", -0.0,20.0, -0.0,20.0, -0.0,20.0, 2,2 + etbDutyAverageGauge = etbDutyAverage,"ETB average duty", "per", -20.0,50.0, -20.0,50.0, -20.0,50.0, 2,2 + etbTpsErrorCounterGauge = etbTpsErrorCounter,"ETB TPS error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + etbPpsErrorCounterGauge = etbPpsErrorCounter,"ETB pedal error counter", "count", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + dcOutput0Gauge = dcOutput0,"DC: output0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + isEnabled0_intGauge = isEnabled0_int,"DC: en0", "per", 0.0,10.0, 0.0,10.0, 0.0,10.0, 2,2 + value0Gauge = value0,"ETB: SENT value0", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + value1Gauge = value1,"ETB: SENT value1", "value", 0.0,3.0, 0.0,3.0, 0.0,3.0, 0,0 + errorRateGauge = errorRate,"ETB: SENT error rate", "ratio", 0.0,3.0, 0.0,3.0, 0.0,3.0, 2,2 gaugeCategory = Trigger triggerErrorsCounterGauge = totalTriggerErrorCounter, "Trigger error count", "count", 0, 15000, 0, 0, 6000, 6000, 0, 0 @@ -1246,6 +1244,7 @@ gaugeCategory = Trigger triggerSecondaryRiseGauge = triggerSecondaryRise,"triggerSecondaryRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtFallGauge = triggerVvtFall,"triggerVvtFall", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 triggerVvtRiseGauge = triggerVvtRise,"triggerVvtRise", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 + currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 gaugeCategory = Test Bench testBenchIterGauge = testBenchIter, "Test Bench Iterations", "count", 0, {benchTestCount}, 0, 0, {benchTestCount}, {benchTestCount}, 0, 0 @@ -1257,20 +1256,13 @@ gaugeCategory = LUA luaGauges1gauge = luaGauges1, "Lua Gauge 1", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 luaGauges2gauge = luaGauges2, "Lua Gauge 2", "lua", 0, 30000, 0, 0, 30000, 30000, 0, 3 -gaugeCategory = Alternator PID +gaugeCategory = Alternator Control alternatorStatus_iTermGauge = alternatorStatus_iTerm,"Alternator PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_dTermGauge = alternatorStatus_dTerm,"Alternator PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_outputGauge = alternatorStatus_output,"Alternator PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_errorGauge = alternatorStatus_error,"Alternator PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 alternatorStatus_resetCounterGauge = alternatorStatus_resetCounter,"Alternator PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Boost PID - boostStatus_iTermGauge = boostStatus_iTerm,"Boost PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_dTermGauge = boostStatus_dTerm,"Boost PID dTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_outputGauge = boostStatus_output,"Boost PID output", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_errorGauge = boostStatus_error,"Boost PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 - boostStatus_resetCounterGauge = boostStatus_resetCounter,"Boost PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 - gaugeCategory = Idle idleAirValvePositionGauge = currentIdlePosition, "Idle position", "%", 0, 100, 0, 0, 100, 100, 1, 1 idleStatus_iTermGauge = idleStatus_iTerm,"Idle PID iTerm", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 @@ -1279,7 +1271,7 @@ gaugeCategory = Idle idleStatus_errorGauge = idleStatus_error,"Idle PID error", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 3,3 idleStatus_resetCounterGauge = idleStatus_resetCounter,"Idle PID resetCounter", "", -10000.0,10000.0, -10000.0,10000.0, -10000.0,10000.0, 0,0 -gaugeCategory = Etb PID +gaugeCategory = ETB PID etbStatus_iTermGauge = etbStatus_iTerm,"ETB 1 PID iTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_dTermGauge = etbStatus_dTerm,"ETB 1 PID dTerm", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 etbStatus_outputGauge = etbStatus_output,"ETB 1 PID output", "", -100.0,100.0, -100.0,100.0, -100.0,100.0, 3,3 @@ -1307,15 +1299,6 @@ gaugeCategory = GDI ;m_pressureTarget_kPaGauge = m_pressureTarget_kPa,"DI: m_pressureTarget_kPa", "v", 0.0,100.0, 0.0,100.0, 0.0,100.0, 0,0 highFuelPressureGauge = highFuelPressure, @@GAUGE_NAME_FUEL_PRESSURE_HIGH@@, @@GAUGE_NAME_FUEL_PRESSURE_HIGH_UNITS@@, 0, 200, 0, 0, 200, 200, 1, 0 -gaugeCategory = Sensors - Extra 2 - egt1Gauge = egt1, "EGT#1", "C", 0, 2000 - egt2Gauge = egt2, "EGT#2", "C", 0, 2000 - rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 - fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 - wastegatePosGauge = wastegatePositionSensor, @@GAUGE_NAME_WG_POSITION@@, "%", 0, 100, 0, 0, 100, 100, 1, 1 - currentEnginePhaseGauge = currentEngineDecodedPhase, "Engine Phase", "deg", 0, 720, 0, 0, 720, 720, 0, 0 - auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 - gaugeCategory = ECU Status warningCounterGauge = warningCounter, @@GAUGE_NAME_WARNING_COUNTER@@, "", 0, 100, 0, 0, 100, 100, 0, 0 lastErrorCodeGauge = lastErrorCode, @@GAUGE_NAME_LAST_ERROR@@, "", 0, 18000, 0, 0, 18000, 18000, 0, 0 @@ -1351,6 +1334,8 @@ gaugeCategory = Sensors - Basic IATGauge = intake, "Intake air temp", "C", -40, 140, -15, 1, 95, 110, 1, 1 afr1Gauge = AFRValue, @@GAUGE_NAME_AFR@@, "", 10, 19.4, 12, 13, 15, 16, 2, 2 afr2Gauge = AFRValue2, @@GAUGE_NAME_AFR2@@, "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale1Gauge = AFRValue, @@GAUGE_NAME_AFR_GAS_SCALE@@, "", 10, 19.4, 12, 13, 15, 16, 2, 2 + afrGasScale2Gauge = AFRValue2, @@GAUGE_NAME_AFR2_GAS_SCALE@@, "", 10, 19.4, 12, 13, 15, 16, 2, 2 lambda1Gauge = lambdaValue, @@GAUGE_NAME_LAMBDA@@, "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 lambda2Gauge = lambdaValue2, @@GAUGE_NAME_LAMBDA2@@, "", 0.65, 1.2, 0.7, 0.75, 1.1, 1.15, 3, 2 VBattGauge = VBatt, "Battery", "V", 8, 21, 9, 10, 17, 19, 1, 1 @@ -1360,21 +1345,29 @@ gaugeCategory = Sensors - Basic gaugeCategory = Sensors - Extra 1 VSSGauge = vehicleSpeedKph, @@GAUGE_NAME_VVS@@, "kmh", 0, 200, 0, 1, 3, 4, 1, 1 turboSpeedGauge = turboSpeed, @@GAUGE_NAME_TURBO_SPEED@@, "hz", 0, 200, 0, 1, 3, 4, 1, 1 - accelerationXGauge = accelerationX, @@GAUGE_NAME_ACCEL_X@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYGauge = accelerationY, @@GAUGE_NAME_ACCEL_Y@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationZGauge = accelerationZ, @@GAUGE_NAME_ACCEL_Z@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationRollGauge=accelerationRoll, @@GAUGE_NAME_ACCEL_ROLL@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - accelerationYawGauge=accelerationYaw, @@GAUGE_NAME_ACCEL_YAW@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 - atmPresCGauge = baroPressure, @@GAUGE_NAME_BARO_PRESSURE@@, "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 + baroPressureGauge = baroPressure, @@GAUGE_NAME_BARO_PRESSURE@@, "kPa", 0, 1024, 0, 0, 0, 0, 0, 0 internalMcuTemperatureGauge = internalMcuTemperature, @@GAUGE_NAME_ECU_TEMPERATURE@@, "C", 0, 100, 0, 0, 75, 100, 0, 0 OilPressGauge = oilPressure, @@GAUGE_NAME_OIL_PRESSURE@@, "kPa", 0, 750, 35, 75, 550, 700, 0, 0 AuxT1Gauge = auxTemp1, @@GAUGE_NAME_AUX_TEMP1@@, "C", -40, 140, -15, 1, 95, 110, 1, 1 AuxT2Gauge = auxTemp2, @@GAUGE_NAME_AUX_TEMP2@@, "C", -40, 140, -15, 1, 95, 110, 1, 1 lowFuelPressureGauge = lowFuelPressure, @@GAUGE_NAME_FUEL_PRESSURE_LOW@@, @@GAUGE_NAME_FUEL_PRESSURE_LOW_UNITS@@, 0, 700, 0, 0, 700, 700, 1, 0 flexPercentGauge = flexPercent, @@GAUGE_NAME_FLEX@@, "%", 0, 100, 0, 0, 100, 100, 0, 0 + fuelTankLevelGauge = fuelTankLevel,"Fuel level", "%", 0, 100, 10, 20, 100, 100, 1, 1 AuxL1Gauge = auxLinear1, @@GAUGE_NAME_AUX_LINEAR_1@@, "", -100, 100, -100, -100, 100, 100, 2, 2 AuxL2Gauge = auxLinear2, @@GAUGE_NAME_AUX_LINEAR_2@@, "", -100, 100, -100, -100, 100, 100, 2, 2 +gaugeCategory = Sensors - Extra 2 + accelerationXGauge = accelerationX, @@GAUGE_NAME_ACCEL_X@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYGauge = accelerationY, @@GAUGE_NAME_ACCEL_Y@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationZGauge = accelerationZ, @@GAUGE_NAME_ACCEL_Z@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationRollGauge=accelerationRoll, @@GAUGE_NAME_ACCEL_ROLL@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + accelerationYawGauge=accelerationYaw, @@GAUGE_NAME_ACCEL_YAW@@, "acc", -11, 11, 1.0, 1.2, 100, 100, 3, 1 + egt1Gauge = egt1, "EGT#1", "C", 0, 2000 + egt2Gauge = egt2, "EGT#2", "C", 0, 2000 + rpmAccelerationGa = rpmAcceleration, "rpm delta", "RPM/s", -2000, 2000, -2000, 2000, -2000, 2000, 0, 0 + wastegatePosGauge = wastegatePositionSensor, @@GAUGE_NAME_WG_POSITION@@, "%", 0, 100, 0, 0, 100, 100, 1, 1 + auxSpeed1Gauge = auxSpeed1, "Aux Freq Input1", "hz", 0, 30000, 0, 0, 30000, 30000, 0, 0 + gaugeCategory = VVT vvtPositionB1IGauge = vvtPositionB1I, @@GAUGE_NAME_VVT_B1I@@, "deg", -60, 60, -60, -60, 60, 60, 1, 1 vvtPositionB1EGauge = vvtPositionB1E, @@GAUGE_NAME_VVT_B1E@@, "deg", -60, 60, -60, -60, 60, 60, 1, 1 @@ -1389,13 +1382,19 @@ gaugeCategory = VVT vvtOutput3Gauge = vvtStatus3_output, "vvt: output 3", "", 00, 100, -60, -60, 60, 60, 0, 0 vvtOutput4Gauge = vvtStatus4_output, "vvt: output 4", "", 00, 100, -60, -60, 60, 60, 0, 0 - gaugeCategory = Ignition - sparkCutReasonGauge = sparkCutReason,"Spark Cut Code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 - ignadvGauge = ignitionAdvance, "Ignition timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 - dwellGauge = sparkDwell, "Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 + sparkCutReasonGauge = sparkCutReason, "Ign: Cut code", "code", 0.0,0.0, 0.0,0.0, 0.0,0.0, 0,0 + ignadvGauge = ignitionAdvance, "Ign: Timing", "degrees", -100, 100, -999, -999, 999, 999, 1, 1 + dwellGauge = sparkDwell, "Ign: Dwell", "mSec", 0, 10, 0.5, 1.0, 6.0, 8.0, 1, 1 coilDutyCycleGauge = coilDutyCycle, @@GAUGE_NAME_DWELL_DUTY@@, "%", 0, 110, 0, 0, 90, 100, 1, 1 ignitionLoadGauge = ignitionLoad, @@GAUGE_NAME_IGNITION_LOAD@@, "%", 0, 300, 0, 0, 300, 300, 1, 1 + baseDwellGauge = baseDwell,"baseDwell", "ms", 0.0,30.0, 0.0,30.0, 0.0,30.0, 1,1 + dwellAngleGauge = dwellAngle,"Ign: Dwell angle", "deg", 0.0,120.0, 0.0,120.0, 0.0,120.0, 1,1 + cltTimingCorrectionGauge = cltTimingCorrection,"Ign: CLT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingIatCorrectionGauge = timingIatCorrection,"Ign: IAT correction", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + timingPidCorrectionGauge = timingPidCorrection,"Ign: Idle timing adjustment", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingAddGauge = luaTimingAdd,"Ign: Lua timing add", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 + luaTimingMultGauge = luaTimingMult,"Ign: Lua timing mult", "deg", -20.0,20.0, -20.0,20.0, -20.0,20.0, 2,2 gaugeCategory = Acceleration Enrichment deltaTpsGauge = deltaTps, "AE: TPS change", "", 0, 120, 10, 10, 100, 100, 1, 1 @@ -1474,21 +1473,21 @@ gaugeCategory = Transmission shiftTimeGauge = lastShiftTime, "Last Shift Time", "S", 0, 2, 0, 0, 2, 2, 4, 4 gaugeCategory = Knock - knock1Gauge = knock1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock2Gauge = knock2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock3Gauge = knock3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock4Gauge = knock4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock5Gauge = knock5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock6Gauge = knock6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock7Gauge = knock7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock8Gauge = knock8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock9Gauge = knock9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock10Gauge = knock10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock11Gauge = knock11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knock12Gauge = knock12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockLevelGauge = knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 - knockRetardGauge = knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 - knockCountGauge = knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 + knock1Gauge = m_knockCyl1, "Knock Cyl 1", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock2Gauge = m_knockCyl2, "Knock Cyl 2", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock3Gauge = m_knockCyl3, "Knock Cyl 3", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock4Gauge = m_knockCyl4, "Knock Cyl 4", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock5Gauge = m_knockCyl5, "Knock Cyl 5", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock6Gauge = m_knockCyl6, "Knock Cyl 6", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock7Gauge = m_knockCyl7, "Knock Cyl 7", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock8Gauge = m_knockCyl8, "Knock Cyl 8", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock9Gauge = m_knockCyl9, "Knock Cyl 9", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock10Gauge = m_knockCyl10, "Knock Cyl 10", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock11Gauge = m_knockCyl11, "Knock Cyl 11", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knock12Gauge = m_knockCyl12, "Knock Cyl 12", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockLevelGauge = m_knockLevel,"Knock level", "dBv", -60, 10, -60, -60, 10, 10, 0, 0 + knockRetardGauge = m_knockRetard, "Knock retard", "deg", 0, 10, 0, 0, 10, 10, 1, 1 + knockCountGauge = m_knockCount, "Knock count", "count", 0, 10000, 0, 0, 10000, 10000, 0, 0 gaugeCategory = DynoView accelGauge = VssAcceleration, "Vehicle acceleration", "m/s2", -10, 10, -6, -4, 4, 6, 2, 2 @@ -1673,14 +1672,14 @@ menuDialog = main subMenu = veTableDialog, "VE", 0, {isInjectionEnabled == 1} groupMenu = "VE blend tables" - groupChildMenu = veBlend1Cfg, "Adder 1 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend1Table, "VE adder 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } - groupChildMenu = veBlend2Cfg, "Adder 2 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend2Table, "VE adder 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } - groupChildMenu = veBlend3Cfg, "Adder 3 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend3Table, "VE adder 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } - groupChildMenu = veBlend4Cfg, "Adder 4 bias", 0, {isInjectionEnabled} - groupChildMenu = veBlend4Table, "VE adder 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } + groupChildMenu = veBlend1Cfg, "VE blend 1 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend1Table, "VE blend table 1", 0, { isInjectionEnabled && veBlends1_blendParameter != 0 } + groupChildMenu = veBlend2Cfg, "VE blend 2 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend2Table, "VE blend table 2", 0, { isInjectionEnabled && veBlends2_blendParameter != 0 } + groupChildMenu = veBlend3Cfg, "VE blend 3 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend3Table, "VE blend table 3", 0, { isInjectionEnabled && veBlends3_blendParameter != 0 } + groupChildMenu = veBlend4Cfg, "VE blend 4 bias", 0, {isInjectionEnabled} + groupChildMenu = veBlend4Table, "VE blend table 4", 0, { isInjectionEnabled && veBlends4_blendParameter != 0 } subMenu = tChargeSettings, "Charge temperature estimation", 0, {isInjectionEnabled == 1} subMenu = baroCorrTbl, "Barometric pressure correction", 0, {isInjectionEnabled == 1 && fuelAlgorithm == @@engine_load_mode_e_LM_SPEED_DENSITY@@} @@ -1724,14 +1723,14 @@ menuDialog = main subMenu = dwellSettings, "Dwell", 0, {isIgnitionEnabled == 1} groupMenu = "Ignition blend tables" - groupChildMenu = ignAdder1Cfg, "Adder 1 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder1Table, "Ignition adder 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } - groupChildMenu = ignAdder2Cfg, "Adder 2 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder2Table, "Ignition adder 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } - groupChildMenu = ignAdder3Cfg, "Adder 3 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder3Table, "Ignition adder 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } - groupChildMenu = ignAdder4Cfg, "Adder 4 bias", 0, {isIgnitionEnabled} - groupChildMenu = ignAdder4Table, "Ignition adder 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } + groupChildMenu = ignAdder1Cfg, "Ignition blend 1 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder1Table, "Ignition blend table 1", 0, { isIgnitionEnabled && ignBlends1_blendParameter != 0 } + groupChildMenu = ignAdder2Cfg, "Ignition blend 2 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder2Table, "Ignition blend table 2", 0, { isIgnitionEnabled && ignBlends2_blendParameter != 0 } + groupChildMenu = ignAdder3Cfg, "Ignition blend 3 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder3Table, "Ignition blend table 3", 0, { isIgnitionEnabled && ignBlends3_blendParameter != 0 } + groupChildMenu = ignAdder4Cfg, "Ignition blend 4 bias", 0, {isIgnitionEnabled} + groupChildMenu = ignAdder4Table, "Ignition blend table 4", 0, { isIgnitionEnabled && ignBlends4_blendParameter != 0 } groupMenu = "Cylinder ign trims" groupChildMenu = ignTrimTbl1, "Ignition trim cyl 1" groupChildMenu = ignTrimTbl2, "Ignition trim cyl 2" @@ -1883,8 +1882,12 @@ menuDialog = main subMenu = vrThreshold, "VR Sensor Threshold"@@if_ts_show_vr_threshold_all subMenu = speedSensor, "Vehicle speed sensor" subMenu = oilPressureSensor, "Oil pressure" + subMenu = oilTempSensor, "Oil temp sensor" subMenu = fuelPressureSensor, "Fuel pressure" + subMenu = fuelTempSensor, "Fuel temp sensor" subMenu = fuelLevelDialog, "Fuel level sensor" + subMenu = ambientTempSensor, "Ambient temp sensor" + subMenu = compressorDischargeTemperature, "Compressor discharge temp" subMenu = egtInputs, "EGT" @@if_ts_show_egt subMenu = wastegateIdlePos, "Wastegate and idle position sensors" subMenu = std_separator @@ -2003,6 +2006,11 @@ cmd_test_cancel = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_1 cmd_fuel_pump_on = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_FUEL_PUMP_ON_16_hex@@" cmd_fuel_pump_off = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_FUEL_PUMP_OFF_16_hex@@" +cmd_bump_vvt_target_1 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_VVT_1_TARGET_BUMP_16_hex@@" +cmd_bump_vvt_target_2 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_VVT_2_TARGET_BUMP_16_hex@@" +cmd_bump_vvt_target_3 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_VVT_3_TARGET_BUMP_16_hex@@" +cmd_bump_vvt_target_4 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_BENCH_CATEGORY_16_hex@@@@bench_mode_e_BENCH_VVT_4_TARGET_BUMP_16_hex@@" + cmd_test_sol1 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SOLENOID_CATEGORY_16_hex@@\x00\x01" cmd_test_sol2 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SOLENOID_CATEGORY_16_hex@@\x00\x02" cmd_test_sol3 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SOLENOID_CATEGORY_16_hex@@\x00\x03" @@ -2098,11 +2106,13 @@ cmd_set_engine_type_PROTEUS_VW_B6 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command cmd_set_engine_type_PROTEUS_GM_LS_4 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_GM_LS_4_16_hex@@" cmd_set_engine_type_PROTEUS_HONDA_K = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_HONDA_K_16_hex@@" cmd_set_engine_type_PROTEUS_HONDA_OBD2A = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_HONDA_OBD2A_16_hex@@" -cmd_set_engine_type_PROTEUS_MIATA_NB2 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_MIATA_NB2_16_hex@@" cmd_set_engine_type_Proteus_Miata_TCU = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_MIATA_PROTEUS_TCU_16_hex@@" cmd_set_engine_type_PROTEUS_LUA_DEMO = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_LUA_DEMO_16_hex@@" cmd_set_engine_type_PROTEUS_HARLEY = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_HARLEY_16_hex@@" -cmd_set_engine_type_PROTEUS_MIATA_NA6 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_PROTEUS_MIATA_NA6_16_hex@@" +cmd_set_engine_type_POLYGONUS_MIATA_NA6 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_POLYGONUS_MIATA_NA6_16_hex@@" +cmd_set_engine_type_POLYGONUS_MIATA_NB1 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_POLYGONUS_MIATA_NB1_16_hex@@" +cmd_set_engine_type_POLYGONUS_MIATA_NB2 = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_POLYGONUS_MIATA_NB2_16_hex@@" +cmd_set_engine_type_POLYGONUS_MIATA_MSM = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_SET_ENGINE_TYPE_16_hex@@@@engine_type_e_POLYGONUS_MIATA_MSM_16_hex@@" ; ETB_BENCH_ENGINE = 58 @@ -2184,6 +2194,7 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ field = "Enabled", isInjectionEnabled field = "Mode", injectionMode, {isInjectionEnabled == 1} field = "#Batch injection with individual wiring" + field = "Alpha-N uses IAT density correction", alphaNUseIat, { fuelAlgorithm == @@engine_load_mode_e_LM_ALPHA_N@@ } field = "Override VE table load axis", veOverrideMode, { isInjectionEnabled } field = "Override AFR table load axis", afrOverrideMode, { isInjectionEnabled } field = "Injection phase control mode", injectionTimingMode, { isInjectionEnabled } @@ -2495,7 +2506,8 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends1_blendParameter @@ -2505,7 +2517,8 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends2_blendParameter @@ -2515,7 +2528,8 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends3_blendParameter @@ -2525,7 +2539,8 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ field = "#The bias table controls how much of the blend table" field = "#is mixed in to the VE table. For example, a value of" field = "#+10 in the table, with 50 as the current bias will result" - field = "#in +5.0 added to the VE." + field = "#in +5.0% added to the VE. Note that this doesn't add 5% VE," + field = "instead, it adds 5% to the current VE value, multiplying VE by 1.05." field = "#The X axis of the bias table is controlled by the selected blend" field = "#parameter below." field = "Blend parameter", veBlends4_blendParameter @@ -2575,14 +2590,10 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ panel = dwellCorrection panel = dwellVoltageCorrection -; Sensors->AUX1 Thermistor Sensor Setting dialog = auxTempSensor1Sensor, "aux1 Thermistor Settings" field = "Input channel", auxTempSensor1_adcChannel - field = "Bias resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "Pullup resistor", auxTempSensor1_bias_resistor, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor1_tempC_1, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@} field = "Resistance @ LT", auxTempSensor1_resistance_1, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@} field = "" @@ -2592,14 +2603,10 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ field = "Highest temperature", auxTempSensor1_tempC_3, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@} field = "Resistance @ HT", auxTempSensor1_resistance_3, {auxTempSensor1_adcChannel != @@ADC_CHANNEL_NONE@@} -; Sensors->AUX2 Thermistor Sensor Setting dialog = auxTempSensor2Sensor, "aux2 Thermistor Settings" field = "Input channel", auxTempSensor2_adcChannel - field = "Bias resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "Pullup resistor", auxTempSensor2_bias_resistor, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@} - field = "#Here is three pairs of thermistor temperature and resistance." - field = "#Typical temperatures is -40 deg C, 0 deg C and 100 deg C" - field = "" field = "Lowest temperature", auxTempSensor2_tempC_1, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@} field = "Resistance @ LT", auxTempSensor2_resistance_1, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@} field = "" @@ -2609,6 +2616,62 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ field = "Highest temperature", auxTempSensor2_tempC_3, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@} field = "Resistance @ HT", auxTempSensor2_resistance_3, {auxTempSensor2_adcChannel != @@ADC_CHANNEL_NONE@@} + dialog = oilTempSensor, "Oil Temp Sensor Settings" + field = "Input channel", oilTempSensor_adcChannel + field = "Pullup resistor", oilTempSensor_bias_resistor, {oilTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + + field = "Lowest temperature", oilTempSensor_tempC_1, {oilTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "Resistance @ LT", oilTempSensor_resistance_1, {oilTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "" + field = "Middle temperature", oilTempSensor_tempC_2, {oilTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "Resistance @ MT", oilTempSensor_resistance_2, {oilTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "" + field = "Highest temperature", oilTempSensor_tempC_3, {oilTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "Resistance @ HT", oilTempSensor_resistance_3, {oilTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + + dialog = fuelTempSensor, "Fuel Temp Sensor Settings" + field = "Input channel", fuelTempSensor_adcChannel + field = "Pullup resistor", fuelTempSensor_bias_resistor, {fuelTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + + field = "Lowest temperature", fuelTempSensor_tempC_1, {fuelTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "Resistance @ LT", fuelTempSensor_resistance_1, {fuelTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "" + field = "Middle temperature", fuelTempSensor_tempC_2, {fuelTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "Resistance @ MT", fuelTempSensor_resistance_2, {fuelTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "" + field = "Highest temperature", fuelTempSensor_tempC_3, {fuelTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "Resistance @ HT", fuelTempSensor_resistance_3, {fuelTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + + dialog = ambientTempSensor, "Ambient Temp Sensor Settings" + field = "!Put this sensor before any turbocharger/supercharger" + field = "!near the air filter." + field = "Input channel", ambientTempSensor_adcChannel + field = "Pullup resistor", ambientTempSensor_bias_resistor, {ambientTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + + field = "Lowest temperature", ambientTempSensor_tempC_1, {ambientTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "Resistance @ LT", ambientTempSensor_resistance_1, {ambientTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "" + field = "Middle temperature", ambientTempSensor_tempC_2, {ambientTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "Resistance @ MT", ambientTempSensor_resistance_2, {ambientTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "" + field = "Highest temperature", ambientTempSensor_tempC_3, {ambientTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "Resistance @ HT", ambientTempSensor_resistance_3, {ambientTempSensor_adcChannel != @@ADC_CHANNEL_NONE@@} + + dialog = compressorDischargeTemperature, "Compressor Discharge Temp Settings" + field = "!Put this sensor after the turbocharger/supercharger" + field = "!but before the intercooler." + field = "Input channel", compressorDischargeTemperature_adcChannel + field = "Pullup resistor", compressorDischargeTemperature_bias_resistor, {compressorDischargeTemperature_adcChannel != @@ADC_CHANNEL_NONE@@} + + field = "Lowest temperature", compressorDischargeTemperature_tempC_1, {compressorDischargeTemperature_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "Resistance @ LT", compressorDischargeTemperature_resistance_1, {compressorDischargeTemperature_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "" + field = "Middle temperature", compressorDischargeTemperature_tempC_2, {compressorDischargeTemperature_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "Resistance @ MT", compressorDischargeTemperature_resistance_2, {compressorDischargeTemperature_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "" + field = "Highest temperature", compressorDischargeTemperature_tempC_3, {compressorDischargeTemperature_adcChannel != @@ADC_CHANNEL_NONE@@} + field = "Resistance @ HT", compressorDischargeTemperature_resistance_3, {compressorDischargeTemperature_adcChannel != @@ADC_CHANNEL_NONE@@} + dialog = tpsNum1, "Throttle Body #1" field = "Primary sensor", tps1_1AdcChannel field = "Primary min", tpsMin, {tps1_1AdcChannel != @@ADC_CHANNEL_NONE@@} @@ -2717,6 +2780,8 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ field = "Flex fuel sensor", flexSensorPin field = "Turbo Speed Sensor", turboSpeedSensorInputPin field = "Turbo Speed Multiplier", turboSpeedSensorMultiplier + field = "Throttle inlet pressure sensor", throttleInletPressureChannel + field = "Compressor discharge pressure sensor", compressorDischargePressureChannel dialog = fuelLevelDialog, "Fuel Level Sensor" field = "Input channel", fuelLevelSensor @@ -2901,11 +2966,9 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ panel = allPins2_1_and_2 panel = allPins2_3 - -; Sensors->CLT sensor dialog = clt_thermistor, "CLT sensor" field = "Input channel", clt_adcChannel - field = "Bias resistor", clt_bias_resistor, {clt_adcChannel != @@ADC_CHANNEL_NONE@@}@@if_ts_show_clt_iat_pullup + field = "Pullup resistor", clt_bias_resistor, {clt_adcChannel != @@ADC_CHANNEL_NONE@@}@@if_ts_show_clt_iat_pullup settingSelector = "Common CLT Sensors" settingOption = "GM CLT", clt_tempC_1=0,clt_resistance_1=9240,clt_tempC_2=40,clt_resistance_2=1459,clt_tempC_3=100,clt_resistance_3=177,useLinearCltSensor=0 @@ -2913,8 +2976,6 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ settingOption = "Miata NB", clt_tempC_1=-10,clt_resistance_1=9000,clt_tempC_2=20,clt_resistance_2=2500,clt_tempC_3=80,clt_resistance_3=320,useLinearCltSensor=0 settingOption = "Bosch Various", clt_tempC_1=0,clt_resistance_1=5896,clt_tempC_2=50,clt_resistance_2=834,clt_tempC_3=100,clt_resistance_3=187,useLinearCltSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", clt_tempC_1, {clt_adcChannel != @@ADC_CHANNEL_NONE@@} field = "Resistance @ LT", clt_resistance_1, {clt_adcChannel != @@ADC_CHANNEL_NONE@@} @@ -2935,10 +2996,9 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ panel = clt_thermistor, West panel = cltGauges, East -; Sensors->IAT sensor dialog = iat_thermistor, "IAT sensor" field = "Input channel", iat_adcChannel - field = "Bias resistor", iat_bias_resistor, {iat_adcChannel != @@ADC_CHANNEL_NONE@@}@@if_ts_show_clt_iat_pullup + field = "Pullup resistor", iat_bias_resistor, {iat_adcChannel != @@ADC_CHANNEL_NONE@@}@@if_ts_show_clt_iat_pullup settingSelector = "Common IAT Sensors", {iat_adcChannel != 0} settingOption = "GM IAT", iat_tempC_1=8.9,iat_resistance_1=7000,iat_tempC_2=30.6,iat_resistance_2=1930,iat_tempC_3=63.3,iat_resistance_3=560,useLinearIatSensor=0 @@ -2946,8 +3006,6 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ settingOption = "Miata MSM IAT2", iat_tempC_1=0,iat_resistance_1=112000,iat_tempC_2=40,iat_resistance_2=17000,iat_tempC_3=60,iat_resistance_3=8000,useLinearIatSensor=0 settingOption = "Bosch Various", iat_tempC_1=-10,iat_resistance_1=9397,iat_tempC_2=30,iat_resistance_2=1707,iat_tempC_3=70,iat_resistance_3=436,useLinearIatSensor=0 - field = "#Input three pairs of thermistor temperature and resistance." - field = "#Typical temperatures are -40 deg C, 0 deg C and 100 deg C" field = "" field = "Lowest temperature", iat_tempC_1, {iat_adcChannel != @@ADC_CHANNEL_NONE@@} field = "Resistance @ LT", iat_resistance_1, {iat_adcChannel != @@ADC_CHANNEL_NONE@@} @@ -2968,7 +3026,6 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ panel = iat_thermistor, West panel = iatGauges, East -; Sensors->Oil pressure sensor dialog = oilp_settings, "Oil Pressure Sensor" field = "Oil Pressure ADC input", oilPressure_hwChannel field = "low voltage", oilPressure_v1, {oilPressure_hwChannel != @@ADC_CHANNEL_NONE@@} @@ -3227,7 +3284,6 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ field = "Override Idle VE table load axis", idleVeOverrideMode, { useSeparateVeForIdle == 1 } field = "Use idle tables for cranking taper", useSeparateIdleTablesForCrankingTaper field = "Use coasting idle table", useIacTableForCoasting - field = "Detailed status in console", isVerboseIAC dialog = idleSettings, "", yAxis field = "Idle control mode", idleMode @@ -3338,10 +3394,15 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ field = "Pulse duration", tachPulseDuractionMs field = "Pulse per Rev", tachPulsePerRev + dialog = speedoSettings, "Speedometer output" + field = "Output", speedometerOutputPin + field = "Pulse per km", speedometerPulsePerKm, { speedometerOutputPin } + dialog = outputsDialogLeft panel = mainRelayDialog panel = fuelPumpDialog panel = tachSettings + panel = speedoSettings panel = startStopDialog panel = starterRelayDialog panel = malfunctionDialog @@ -3470,6 +3531,16 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ panel = lambdaProtectionLeft, West panel = lambdaProtectionRight, East + dialog = vvtTargetBumping, "VVT Testing" + field = "Pressing the below buttons will move the respective cam's" + field = "target position for 2 seconds for testing and PID tuning" + field = "" + field = "Target bump amount", vvtBumpAmount + commandButton = "VVT target bump bank 1 intake", cmd_bump_vvt_target_1 + commandButton = "VVT target bump bank 1 exhaust", cmd_bump_vvt_target_2 + commandButton = "VVT target bump bank 2 intake", cmd_bump_vvt_target_3 + commandButton = "VVT target bump bank 2 exhaust", cmd_bump_vvt_target_4 + dialog = vvtPidDialog0, "Configuration" field = "Activation Delay", vvtActivationDelayMs field = "Do not control below RPM", vvtControlMinRpm @@ -3480,6 +3551,7 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ field = "PWM frequency", vvtOutputFrequency, {vvtPins1 != 0 || vvtPins2 != 0} field = "VVT solenoid intake cams control direction", invertVvtControlIntake, { vvtPins1 != 0 || vvtPins3 != 0 } field = "VVT solenoid exhaust cams control direction", invertVvtControlExhaust, { vvtPins2 != 0 || vvtPins4 != 0 } + panel = vvtTargetBumping dialog = vvtPidDialog1, "Intake PID" field = "offset", auxPid1_offset, {vvtPins1 != 0} @@ -3542,7 +3614,8 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ dialog = speedSensorCan, "CAN Vehicle Speed" field = "Enable CAN VSS", enableCanVss, { canReadEnabled } - field = "VSS CAN message type", canVssNbcType, { enableCanVss } + field = "CAN VSS type", canVssNbcType, { enableCanVss } + field = "CAN VSS scaling", canVssScaling, { canReadEnabled } dialog = speedSensorLeft, "", yAxis panel = speedSensorAnalog, { enableCanVss == 0 } @@ -3649,6 +3722,11 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ field = "!https://wiki.fome.tech/r/debugmode" field = "Debug mode", debugMode + dialog = dutyCycleLimiting, "Injector Duty Cycle Limiter" + field = "Instantaneous injector duty cycle limit", maxInjectorDutyInstant, {isInjectionEnabled} + field = "Sustained injector duty cycle limit", maxInjectorDutySustained, {isInjectionEnabled} + field = "Sustained injector duty cycle delay", maxInjectorDutySustainedTimeout, {isInjectionEnabled} + dialog = limitsSettings, "Limits" field = "Cut fuel on RPM limit", cutFuelOnHardLimit field = "Cut spark on RPM limit", cutSparkOnHardLimit @@ -3657,6 +3735,7 @@ cmd_set_engine_type_default = "@@TS_IO_TEST_COMMAND_char@@@@ts_command_e_TS_ field = "Hard limit hysteresis", rpmHardLimitHyst, { cutFuelOnHardLimit || cutSparkOnHardLimit } field = "Boost cut pressure", boostCutPressure field = "Minimum oil pressure after start", minOilPressureAfterStart + panel = dutyCycleLimiting dialog = etbLimits, "Electronic Throttle Limiting" field = "Smoothly close the throttle to limit RPM." @@ -4155,14 +4234,19 @@ dialog = tcuControls, "Transmission Settings" commandButton = "microRusEFI BCM", cmd_set_engine_type_microRusEFI_MRE_BODY_CONTROL@@if_show_microRusEFI_presets commandButton = "microRusEFI Subaru EJ18", cmd_set_engine_type_MRE_SUBARU_EJ18@@if_show_microRusEFI_presets - commandButton = "FOME PnP Miata NA6", cmd_set_engine_type_PROTEUS_MIATA_NA6@@if_show_Proteus_presets + commandButton = "FOME PnP Miata NA6", cmd_set_engine_type_POLYGONUS_MIATA_NA6@@if_show_Proteus_presets + ; commandButton = "FOME PnP Miata NA6 VVT Swap", cmd_set_engine_type_POLYGONUS_MIATA_NA6@@if_show_Proteus_presets + ; commandButton = "FOME PnP Miata 94 ???", cmd_set_engine_type_POLYGONUS_MIATA_NA6@@if_show_Proteus_presets + ; commandButton = "FOME PnP Miata NA8 96", cmd_set_engine_type_POLYGONUS_MIATA_NA6@@if_show_Proteus_presets + commandButton = "FOME PnP Miata NB1", cmd_set_engine_type_POLYGONUS_MIATA_NB1@@if_show_Proteus_presets + commandButton = "FOME PnP Miata NB2 VVT", cmd_set_engine_type_POLYGONUS_MIATA_NB2@@if_show_Proteus_presets + commandButton = "FOME PnP Miata MSM", cmd_set_engine_type_POLYGONUS_MIATA_MSM@@if_show_Proteus_presets commandButton = "Proteus M73 v12", cmd_set_engine_type_Proteus_M73@@if_show_Proteus_presets commandButton = "Proteus GDI VAG B6 test", cmd_set_engine_type_PROTEUS_VW_B6@@if_show_Proteus_presets commandButton = "Proteus GM Gen4", cmd_set_engine_type_PROTEUS_GM_LS_4@@if_show_Proteus_presets commandButton = "Proteus Miata TCU", cmd_set_engine_type_Proteus_Miata_TCU@@if_show_Proteus_presets commandButton = "Proteus Lua Demo", cmd_set_engine_type_PROTEUS_LUA_DEMO@@if_show_Proteus_presets - commandButton = "Proteus Miata NB2", cmd_set_engine_type_PROTEUS_MIATA_NB2@@if_show_Proteus_presets commandButton = "Proteus Honda K", cmd_set_engine_type_PROTEUS_HONDA_K@@if_show_Proteus_presets commandButton = "Proteus Honda OBD2A", cmd_set_engine_type_PROTEUS_HONDA_OBD2A@@if_show_Proteus_presets commandButton = "Proteus Harley", cmd_set_engine_type_PROTEUS_HARLEY@@if_show_Proteus_presets @@ -4311,12 +4395,9 @@ dialog = tcuControls, "Transmission Settings" dialog = parkingLot, "Experimental/Broken" field = "I understand ECU Locking", yesUnderstandLocking field = "Tune read/write password", tuneHidingKey, { yesUnderstandLocking == 1 } - field = useEeprom, useEeprom field = "#System hacks" field = "Global fuel correction", globalFuelCorrection field = "MAP Averaging Logic @", mapAveragingSchedulingAtIndex - 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 diff --git a/firmware/util/cli_registry.cpp b/firmware/util/cli_registry.cpp index 454c1262db..6fe0daf37a 100644 --- a/firmware/util/cli_registry.cpp +++ b/firmware/util/cli_registry.cpp @@ -41,8 +41,8 @@ void resetConsoleActions(void) { static void doAddAction(const char *token, action_type_e type, Void callback, void *param) { #if !defined(EFI_DISABLE_CONSOLE_ACTIONS) for (uint32_t i = 0; i < efiStrlen(token);i++) { - char ch = token[i]; - if (isupper(ch)) { + char c = token[i]; + if (isupper(c)) { firmwareError(ObdCode::CUSTOM_ERR_COMMAND_LOWER_CASE_EXPECTED, "lowerCase expected [%s]", token); } } @@ -223,8 +223,8 @@ int findEndOfToken(const char *line) { int tokenLength(const char *msgp) { int result = 0; while (*msgp) { - char ch = *msgp++; - if (ch == SPACE_CHAR) { + char c = *msgp++; + if (c == SPACE_CHAR) { break; } result++; diff --git a/firmware/util/containers/cyclic_buffer.h b/firmware/util/containers/cyclic_buffer.h index 51fd0c25c5..65870a3b96 100644 --- a/firmware/util/containers/cyclic_buffer.h +++ b/firmware/util/containers/cyclic_buffer.h @@ -40,7 +40,7 @@ class cyclic_buffer uint16_t currentIndex; protected: - uint16_t size; + size_t m_size; /** * number of elements added into this buffer, would be eventually bigger then size */ @@ -64,7 +64,7 @@ void cyclic_buffer::add(T value) { ((T &)elements[idx]) = value; - if (++idx == size) { + if (++idx == m_size) { idx = 0; } currentIndex = idx; @@ -85,12 +85,12 @@ bool cyclic_buffer::contains(T value) const { template void cyclic_buffer::setSize(size_t size) { clear(); - this->size = size < maxSize ? size : maxSize; + m_size = size < maxSize ? size : maxSize; } template int cyclic_buffer::getSize() const { - return size; + return m_size; } template @@ -101,10 +101,10 @@ int cyclic_buffer::getCount() const { template T cyclic_buffer::get(int index) const { while (index < 0) { - index += size; + index += m_size; } - while (index >= size) { - index -= size; + while (index >= m_size) { + index -= m_size; } return elements[index]; } @@ -120,7 +120,7 @@ T cyclic_buffer::maxValue(size_t length) const { for (size_t i = 0; i < length; ++i) { int index = ci - i - 1; while (index < 0) { - index += size; + index += m_size; } if (elements[index] > result) { @@ -140,7 +140,7 @@ T cyclic_buffer::minValue(size_t length) const { for (size_t i = 0; i < length; ++i) { int index = ci - i - 1; while (index < 0) { - index += size; + index += m_size; } if (elements[index] < result) { @@ -162,7 +162,7 @@ T cyclic_buffer::sum(size_t length) const { for (size_t i = 0; i < length; ++i) { int index = ci - i - 1; while (index < 0) { - index += size; + index += m_size; } result += elements[index]; diff --git a/firmware/util/containers/fifo_buffer.h b/firmware/util/containers/fifo_buffer.h index 1c8f572bdd..5dcbbf1076 100644 --- a/firmware/util/containers/fifo_buffer.h +++ b/firmware/util/containers/fifo_buffer.h @@ -25,7 +25,7 @@ class fifo_buffer : public cyclic_buffer { using cyclic_buffer::add; using cyclic_buffer::getSize; using cyclic_buffer::elements; - using cyclic_buffer::size, cyclic_buffer::count; + using cyclic_buffer::m_size, cyclic_buffer::count; public: fifo_buffer() : currentIndexRead(0) { @@ -84,7 +84,7 @@ template T fifo_buffer::get() { T &ret = (T &)elements[currentIndexRead]; if (!isEmpty()) { - currentIndexRead = (currentIndexRead + 1) % size; + currentIndexRead = (currentIndexRead + 1) % m_size; count--; } return ret; diff --git a/firmware/util/datalogging.cpp b/firmware/util/datalogging.cpp index 7c7a12b743..5c3669a033 100644 --- a/firmware/util/datalogging.cpp +++ b/firmware/util/datalogging.cpp @@ -45,7 +45,7 @@ bool Logging::validateBuffer(uint32_t extraLen) { if (remainingSize() < extraLen + 1) { #if EFI_PROD_CODE - warning(ObdCode::CUSTOM_LOGGING_BUFFER_OVERFLOW, "output overflow %s %d", name, extraLen); + warning(ObdCode::CUSTOM_LOGGING_BUFFER_OVERFLOW, "output overflow %s %d", m_name, extraLen); #endif /* EFI_PROD_CODE */ return true; } @@ -60,21 +60,21 @@ void Logging::append(const char *text) { if (isCapacityProblem) { return; } - strcpy(linePointer, text); + strcpy(m_linePointer, text); /** * And now we are pointing at the zero char at the end of the buffer again */ - linePointer += extraLen; + m_linePointer += extraLen; } /** * @note This method if fast because it does not validate much, be sure what you are doing */ void Logging::appendFast(const char *text) { - char *s = linePointer; + char *s = m_linePointer; while ((*s++ = *text++) != 0) ; - linePointer = s - 1; + m_linePointer = s - 1; } void Logging::appendPrintf(const char *fmt, ...) { @@ -84,14 +84,14 @@ void Logging::appendPrintf(const char *fmt, ...) { va_list ap; va_start(ap, fmt); - size_t written = chvsnprintf(linePointer, available, fmt, ap); + size_t written = chvsnprintf(m_linePointer, available, fmt, ap); va_end(ap); // chvnsprintf returns how many bytes WOULD HAVE been written if it fit, // so clip it to the available space if necessary - linePointer += (written > available) ? available : written; + m_linePointer += (written > available) ? available : written; // ensure buffer is always null terminated - buffer[bufferSize - 1] = '\0'; + m_buffer[m_bufferSize - 1] = '\0'; } void Logging::appendFloat(float value, int precision) { @@ -126,17 +126,17 @@ void Logging::appendFloat(float value, int precision) { } void Logging::reset() { - linePointer = buffer; - *linePointer = 0; + m_linePointer = m_buffer; + *m_linePointer = 0; } Logging::Logging(char const *name, char *buffer, int bufferSize) - : name(name) - , buffer(buffer) - , bufferSize(bufferSize) + : m_name(name) + , m_buffer(buffer) + , m_bufferSize(bufferSize) { reset(); } -LoggingWithStorage::LoggingWithStorage(const char *name) : Logging(name, DEFAULT_BUFFER, sizeof(DEFAULT_BUFFER)) { +LoggingWithStorage::LoggingWithStorage(const char *name) : Logging(name, DEFAULT_BUFFER, sizeof(DEFAULT_BUFFER)) { } diff --git a/firmware/util/datalogging.h b/firmware/util/datalogging.h index b6e7252eb3..1db097b36e 100644 --- a/firmware/util/datalogging.h +++ b/firmware/util/datalogging.h @@ -25,43 +25,43 @@ class Logging { void appendFloat(float value, int precision); void terminate() { - linePointer[0] = '\0'; + m_linePointer[0] = '\0'; } /** * This macro breaks the normal zero=termination constraint, please take care of this outside of this function */ void appendChar(char c) { - *linePointer = c; - linePointer++; + *m_linePointer = c; + m_linePointer++; } size_t loggingSize() const { - return (uintptr_t)linePointer - (uintptr_t)buffer; + return (uintptr_t)m_linePointer - (uintptr_t)m_buffer; } size_t remainingSize() const { - return bufferSize - loggingSize(); + return m_bufferSize - loggingSize(); } //private: bool validateBuffer(uint32_t extraLen); - const char* const name = nullptr; + const char* const m_name; /** * Zero-terminated buffer of pending debug message * * Unless a larger external buffer is specified, this is just a pointer to DEFAULT_BUFFER */ - char* const buffer = nullptr; - const int bufferSize = 0; + char* const m_buffer; + const int m_bufferSize; /** * This pointer is always pointing at the position within the buffer into which next * write operation would append additional data */ - char *linePointer = nullptr; + char* m_linePointer = nullptr; }; class LoggingWithStorage : public Logging { diff --git a/firmware/util/efilib.cpp b/firmware/util/efilib.cpp index 85f808f4fe..f6de6dca97 100644 --- a/firmware/util/efilib.cpp +++ b/firmware/util/efilib.cpp @@ -67,12 +67,12 @@ bool startsWith(const char *line, const char *prefix) { return true; } -int indexOf(const char *string, char ch) { +int indexOf(const char *string, char c) { // a standard function for this is strnchr? // todo: on the other hand MISRA wants us not to use standard headers int len = efiStrlen(string); for (int i = 0; i < len; i++) { - if (string[i] == ch) { + if (string[i] == c) { return i; } } @@ -91,16 +91,16 @@ int atoi(const char *string) { int result = 0; for (int i = 0; i < len; i++) { - char ch = string[i]; - if (ch < '0' || ch > '9') { + char c = string[i]; + if (c < '0' || c > '9') { if (i > 0) { break; } else { return ATOI_ERROR_CODE; } } - int c = ch - '0'; - result = result * 10 + c; + int num = c - '0'; + result = result * 10 + num; } return result; diff --git a/firmware/util/efilib.h b/firmware/util/efilib.h index 9f309a580b..281fa4b276 100644 --- a/firmware/util/efilib.h +++ b/firmware/util/efilib.h @@ -8,9 +8,7 @@ #pragma once #include -#ifdef __cplusplus #include -#endif #define TO_LOWER(x) (((x)>='A' && (x)<='Z') ? (x) - 'A' + 'a' : (x)) int djb2lowerCase(const char *str); diff --git a/firmware/util/efitime.cpp b/firmware/util/efitime.cpp index 77cc250825..9e42eca655 100644 --- a/firmware/util/efitime.cpp +++ b/firmware/util/efitime.cpp @@ -19,13 +19,6 @@ efitimeus_t getTimeNowUs() { return NT2US(getTimeNowNt()); } -/** - * 32 bit return type overflows in 23(or46?) days. tag#4554. I think we do not expect rusEFI to run for 23 days straight days any time soon? - */ -efitimems_t getTimeNowMs(void) { - return US2MS(getTimeNowUs()); -} - /** * Integer number of seconds since ECU boot. * 31,710 years - would not overflow during our life span. diff --git a/firmware/util/efitime.h b/firmware/util/efitime.h index 45d4f7a4fe..e919006f43 100644 --- a/firmware/util/efitime.h +++ b/firmware/util/efitime.h @@ -105,11 +105,6 @@ efitick_t getTimeNowNt(); */ efitimeus_t getTimeNowUs(); -/** - * @brief Returns the number of milliseconds since the board initialization. - */ -efitimems_t getTimeNowMs(); - /** * @brief Current system time in seconds. */ diff --git a/firmware/util/loggingcentral.cpp b/firmware/util/loggingcentral.cpp index f1d0438608..69972ba8ad 100644 --- a/firmware/util/loggingcentral.cpp +++ b/firmware/util/loggingcentral.cpp @@ -35,8 +35,8 @@ void LogBuffer::writeLine(LogLineBuffer* line) { } template -void LogBuffer:: writeLogger(Logging* logging) { - writeInternal(logging->buffer); +void LogBuffer::writeLogger(Logging* logging) { + writeInternal(logging->m_buffer); } template diff --git a/firmware/util/math/efi_pid.cpp b/firmware/util/math/efi_pid.cpp index d7b279ef6e..bdf298dccd 100644 --- a/firmware/util/math/efi_pid.cpp +++ b/firmware/util/math/efi_pid.cpp @@ -22,23 +22,23 @@ Pid::Pid(pid_s *parameters) { } void Pid::initPidClass(pid_s *parameters) { - this->parameters = parameters; + m_parameters = parameters; resetCounter = 0; reset(); } bool Pid::isSame(const pid_s *parameters) const { - if (!this->parameters) { + if (!m_parameters) { // this 'null' could happen on first execution during initialization return false; } efiAssert(ObdCode::OBD_PCM_Processor_Fault, parameters != NULL, "PID::isSame NULL", false); - return this->parameters->pFactor == parameters->pFactor - && this->parameters->iFactor == parameters->iFactor - && this->parameters->dFactor == parameters->dFactor - && this->parameters->offset == parameters->offset - && this->parameters->periodMs == parameters->periodMs; + return m_parameters->pFactor == parameters->pFactor + && m_parameters->iFactor == parameters->iFactor + && m_parameters->dFactor == parameters->dFactor + && m_parameters->offset == parameters->offset + && m_parameters->periodMs == parameters->periodMs; } /** @@ -46,18 +46,18 @@ bool Pid::isSame(const pid_s *parameters) const { * @returns Output from the PID controller / the input to the process */ float Pid::getOutput(float target, float input) { - float dTime = MS2SEC(GET_PERIOD_LIMITED(parameters)); + float dTime = MS2SEC(GET_PERIOD_LIMITED(m_parameters)); return getOutput(target, input, dTime); } float Pid::getUnclampedOutput(float target, float input, float dTime) { float error = (target - input) * errorAmplificationCoef; - this->target = target; - this->input = input; + lastTarget = target; + lastInput = input; - float pTerm = parameters->pFactor * error; - updateITerm(parameters->iFactor * dTime * error); - dTerm = parameters->dFactor / dTime * (error - previousError); + float pTerm = m_parameters->pFactor * error; + updateITerm(m_parameters->iFactor * dTime * error); + dTerm = m_parameters->dFactor / dTime * (error - previousError); previousError = error; @@ -75,35 +75,37 @@ float Pid::getUnclampedOutput(float target, float input, float dTime) { float Pid::getOutput(float target, float input, float dTime) { float output = getUnclampedOutput(target, input, dTime); - if (output > parameters->maxValue) { - output = parameters->maxValue; + if (output > m_parameters->maxValue) { + output = m_parameters->maxValue; } else if (output < getMinValue()) { output = getMinValue(); } - this->output = output; + + lastOutput = output; + return output; } void Pid::updateFactors(float pFactor, float iFactor, float dFactor) { - parameters->pFactor = pFactor; - parameters->iFactor = iFactor; - parameters->dFactor = dFactor; + m_parameters->pFactor = pFactor; + m_parameters->iFactor = iFactor; + m_parameters->dFactor = dFactor; reset(); } void Pid::reset() { dTerm = iTerm = 0; - output = input = target = previousError = 0; + lastOutput = lastInput = lastTarget = previousError = 0; errorAmplificationCoef = 1.0f; resetCounter++; } float Pid::getP() const { - return parameters->pFactor; + return m_parameters->pFactor; } float Pid::getI() const { - return parameters->iFactor; + return m_parameters->iFactor; } float Pid::getPrevError() const { @@ -115,15 +117,15 @@ float Pid::getIntegration() const { } float Pid::getD() const { - return parameters->dFactor; + return m_parameters->dFactor; } float Pid::getOffset(void) const { - return parameters->offset; + return m_parameters->offset; } float Pid::getMinValue(void) const { - return parameters->minValue; + return m_parameters->minValue; } void Pid::setErrorAmplification(float coef) { @@ -133,9 +135,9 @@ void Pid::setErrorAmplification(float coef) { #if EFI_TUNER_STUDIO void Pid::postState(pid_status_s& pidStatus) const { - pidStatus.output = output; + pidStatus.output = lastOutput; pidStatus.error = previousError; - pidStatus.pTerm = parameters == nullptr ? 0 : parameters->pFactor * previousError; + pidStatus.pTerm = m_parameters == nullptr ? 0 : m_parameters->pFactor * previousError; pidStatus.iTerm = iTerm; pidStatus.dTerm = dTerm; } @@ -143,7 +145,7 @@ void Pid::postState(pid_status_s& pidStatus) const { void Pid::sleep() { #if !EFI_UNIT_TEST - int periodMs = maxI(10, parameters->periodMs); + int periodMs = maxI(10, m_parameters->periodMs); chThdSleepMilliseconds(periodMs); #endif /* EFI_UNIT_TEST */ } @@ -152,16 +154,16 @@ void Pid::showPidStatus(const char*msg) const { efiPrintf("%s settings: offset=%f P=%.5f I=%.5f D=%.5f period=%dms", msg, getOffset(), - parameters->pFactor, - parameters->iFactor, - parameters->dFactor, - parameters->periodMs); + m_parameters->pFactor, + m_parameters->iFactor, + m_parameters->dFactor, + m_parameters->periodMs); efiPrintf("%s status: value=%.2f input=%.2f/target=%.2f iTerm=%.5f dTerm=%.5f", msg, - output, - input, - target, + lastOutput, + lastInput, + lastTarget, iTerm, dTerm); } @@ -172,16 +174,16 @@ void Pid::updateITerm(float value) { * If we have exceeded the ability of the controlled device to hit target, the I factor will keep accumulating and approach infinity. * Here we limit the I-term #353 */ - if (iTerm > parameters->maxValue * 100) { - iTerm = parameters->maxValue * 100; + if (iTerm > m_parameters->maxValue * 100) { + iTerm = m_parameters->maxValue * 100; } if (iTerm > iTermMax) { iTerm = iTermMax; } // this is kind of a hack. a proper fix would be having separate additional settings 'maxIValue' and 'minIValye' - if (iTerm < -parameters->maxValue * 100) - iTerm = -parameters->maxValue * 100; + if (iTerm < -m_parameters->maxValue * 100) + iTerm = -m_parameters->maxValue * 100; if (iTerm < iTermMin) { iTerm = iTermMin; } @@ -196,27 +198,27 @@ PidIndustrial::PidIndustrial(pid_s *parameters) : Pid(parameters) { float PidIndustrial::getOutput(float target, float input, float dTime) { float ad, bd; float error = (target - input) * errorAmplificationCoef; - float pTerm = parameters->pFactor * error; + float pTerm = m_parameters->pFactor * error; // calculate dTerm coefficients if (fabsf(derivativeFilterLoss) > DBL_EPSILON) { // restore Td in the Standard form from the Parallel form: Td = Kd / Kc - float Td = parameters->dFactor / parameters->pFactor; + float Td = m_parameters->dFactor / m_parameters->pFactor; // calculate the backward differences approximation of the derivative term ad = Td / (Td + dTime / derivativeFilterLoss); - bd = parameters->pFactor * ad / derivativeFilterLoss; + bd = m_parameters->pFactor * ad / derivativeFilterLoss; } else { // According to the Theory of limits, if p.derivativeFilterLoss -> 0, then // lim(ad) = 0; lim(bd) = p.pFactor * Td / dTime = p.dFactor / dTime // i.e. dTerm becomes equal to Pid's ad = 0.0f; - bd = parameters->dFactor / dTime; + bd = m_parameters->dFactor / dTime; } // (error - previousError) = (target-input) - (target-prevousInput) = -(input - prevousInput) dTerm = dTerm * ad + (error - previousError) * bd; - updateITerm(parameters->iFactor * dTime * error); + updateITerm(m_parameters->iFactor * dTime * error); // calculate output and apply the limits float output = pTerm + iTerm + dTerm + getOffset(); @@ -235,7 +237,7 @@ float PidIndustrial::getOutput(float target, float input, float dTime) { float PidIndustrial::limitOutput(float v) const { if (v < getMinValue()) v = getMinValue(); - if (v > parameters->maxValue) - v = parameters->maxValue; + if (v > m_parameters->maxValue) + v = m_parameters->maxValue; return v; } diff --git a/firmware/util/math/efi_pid.h b/firmware/util/math/efi_pid.h index 79961a8e1b..fa1fc1e5b8 100644 --- a/firmware/util/math/efi_pid.h +++ b/firmware/util/math/efi_pid.h @@ -68,7 +68,7 @@ class Pid : public pid_state_s { float iTermMin = -1000000.0; float iTermMax = 1000000.0; protected: - pid_s *parameters = nullptr; + pid_s *m_parameters = nullptr; virtual void updateITerm(float value); }; diff --git a/firmware/util/math/pid_state.txt b/firmware/util/math/pid_state.txt index 1a1b26c660..f9c37e66bb 100644 --- a/firmware/util/math/pid_state.txt +++ b/firmware/util/math/pid_state.txt @@ -1,9 +1,9 @@ struct_no_prefix pid_state_s float iTerm; float dTerm;we are remembering this only for debugging purposes - float target;only used for logging - float input;only used for logging - float output;only used for logging + float lastTarget;only used for logging + float lastInput;only used for logging + float lastOutput;only used for logging float errorAmplificationCoef; float previousError diff --git a/firmware/util/math/pid_state_generated.h b/firmware/util/math/pid_state_generated.h index d011a74d54..699c6f88f7 100644 --- a/firmware/util/math/pid_state_generated.h +++ b/firmware/util/math/pid_state_generated.h @@ -18,17 +18,17 @@ struct pid_state_s { * only used for logging * offset 8 */ - float target = (float)0; + float lastTarget = (float)0; /** * only used for logging * offset 12 */ - float input = (float)0; + float lastInput = (float)0; /** * only used for logging * offset 16 */ - float output = (float)0; + float lastOutput = (float)0; /** * offset 20 */ diff --git a/java_console/autotest/src/main/java/com/rusefi/SimulatorExecHelper.java b/java_console/autotest/src/main/java/com/rusefi/SimulatorExecHelper.java index fe64413a3f..a833962b60 100644 --- a/java_console/autotest/src/main/java/com/rusefi/SimulatorExecHelper.java +++ b/java_console/autotest/src/main/java/com/rusefi/SimulatorExecHelper.java @@ -96,11 +96,6 @@ public static void startSimulator() { if (!new File(SIMULATOR_BINARY).exists()) throw new IllegalStateException(SIMULATOR_BINARY + " not found"); FileLog.MAIN.logLine("startSimulator..."); - new Thread(new Runnable() { - @Override - public void run() { - runSimulator(); - } - }, "simulator process").start(); + new Thread(SimulatorExecHelper::runSimulator, "simulator process").start(); } } diff --git a/java_console/autotest/src/main/java/com/rusefi/common/MiscTest.java b/java_console/autotest/src/main/java/com/rusefi/common/MiscTest.java index 6d872c8196..ad3e30d81f 100644 --- a/java_console/autotest/src/main/java/com/rusefi/common/MiscTest.java +++ b/java_console/autotest/src/main/java/com/rusefi/common/MiscTest.java @@ -8,7 +8,6 @@ import static com.devexperts.util.TimeUtil.SECOND; import static com.rusefi.IoUtil.sleepSeconds; -import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; public class MiscTest extends RusefiTestBase { @@ -24,6 +23,7 @@ public void testMcuTemperature() throws InterruptedException { double mcuTemp = Double.NaN; long start = System.currentTimeMillis(); while (Double.isNaN(mcuTemp) && (System.currentTimeMillis() - start) < 5 * SECOND) { + //noinspection BusyWait Thread.sleep(100); mcuTemp = SensorCentral.getInstance().getValue(Sensor.INT_TEMP); } diff --git a/java_console/autotest/src/main/java/com/rusefi/f4discovery/CommonFunctionalTest.java b/java_console/autotest/src/main/java/com/rusefi/f4discovery/CommonFunctionalTest.java index 979a90e1f9..5d3f8b1236 100644 --- a/java_console/autotest/src/main/java/com/rusefi/f4discovery/CommonFunctionalTest.java +++ b/java_console/autotest/src/main/java/com/rusefi/f4discovery/CommonFunctionalTest.java @@ -14,8 +14,7 @@ import static com.rusefi.IoUtil.getEnableCommand; import static com.rusefi.TestingUtils.assertNull; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; /** * rusEFI firmware simulator functional test suite @@ -333,7 +332,7 @@ public void testFord6() { assertWaveNull(msg, chart, EngineChart.TRIGGER_2); sendComplexCommand("set " + "trigger_type" + " " + com.rusefi.enums.trigger_type_e.TT_FORD_ASPIRE.ordinal()); chart = nextChart(); - assertTrue(chart.get(EngineChart.TRIGGER_2) != null); + assertNotNull(chart.get(EngineChart.TRIGGER_2)); } @Test @@ -475,7 +474,7 @@ private static void assertWaveNotNull(EngineChart chart, String key) { } private static void assertWaveNotNull(String msg, EngineChart chart, String key) { - assertTrue(msg, chart.get(key) != null); + assertNotNull(msg, chart.get(key)); } private static void assertWaveNotNull(EngineChart chart, String... keys) { diff --git a/java_console/core_ui/src/main/java/com/rusefi/autoupdate/ReportedIOException.java b/java_console/core_ui/src/main/java/com/rusefi/autoupdate/ReportedIOException.java deleted file mode 100644 index 255654db19..0000000000 --- a/java_console/core_ui/src/main/java/com/rusefi/autoupdate/ReportedIOException.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.rusefi.autoupdate; - -import java.io.IOException; - -/** - * IO Exception which was already reported with a UI dialog - */ -public class ReportedIOException extends IOException { - private IOException e; - - public ReportedIOException(IOException e) { - this.e = e; - } -} diff --git a/java_console/inifile/src/main/java/com/opensr5/ini/IniFileModel.java b/java_console/inifile/src/main/java/com/opensr5/ini/IniFileModel.java index 085375ea66..e1cde26f25 100644 --- a/java_console/inifile/src/main/java/com/opensr5/ini/IniFileModel.java +++ b/java_console/inifile/src/main/java/com/opensr5/ini/IniFileModel.java @@ -25,16 +25,15 @@ public class IniFileModel { private static IniFileModel INSTANCE; private String dialogId; private String dialogUiName; - private Map dialogs = new TreeMap<>(); - private Map allFields = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + private final Map dialogs = new TreeMap<>(); + private final Map allFields = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); // this is only used while reading model - TODO extract reader - private List fieldsOfCurrentDialog = new ArrayList<>(); + private final List fieldsOfCurrentDialog = new ArrayList<>(); public Map allIniFields = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); public Map tooltips = new TreeMap<>(); public Map protocolMeta = new TreeMap<>(); private boolean isConstantsSection; - private String currentSection; public static void main(String[] args) { log.info("Dialogs: " + IniFileModel.getInstance().dialogs); @@ -143,7 +142,6 @@ private void handleLine(RawIniFile.Line line) { if (first.startsWith("[") && first.endsWith("]")) { log.info("Section " + first); - currentSection = first; isConstantsSection = first.equals("[Constants]"); } @@ -171,16 +169,21 @@ private void handleLine(RawIniFile.Line line) { } private void handleFieldDefinition(LinkedList list) { - if (list.get(1).equals(FIELD_TYPE_SCALAR)) { - registerField(ScalarIniField.parse(list)); - } else if (list.get(1).equals(FIELD_TYPE_STRING)) { - registerField(StringIniField.parse(list)); - } else if (list.get(1).equals(FIELD_TYPE_ARRAY)) { - registerField(ArrayIniField.parse(list)); - } else if (list.get(1).equals(FIELD_TYPE_BITS)) { - registerField(EnumIniField.parse(list)); - } else { - throw new IllegalStateException("Unexpected " + list); + switch (list.get(1)) { + case FIELD_TYPE_SCALAR: + registerField(ScalarIniField.parse(list)); + break; + case FIELD_TYPE_STRING: + registerField(StringIniField.parse(list)); + break; + case FIELD_TYPE_ARRAY: + registerField(ArrayIniField.parse(list)); + break; + case FIELD_TYPE_BITS: + registerField(EnumIniField.parse(list)); + break; + default: + throw new IllegalStateException("Unexpected " + list); } } diff --git a/java_console/inifile/src/main/java/com/opensr5/ini/RawIniFile.java b/java_console/inifile/src/main/java/com/opensr5/ini/RawIniFile.java index 7ad9f0007b..bae95f66d4 100644 --- a/java_console/inifile/src/main/java/com/opensr5/ini/RawIniFile.java +++ b/java_console/inifile/src/main/java/com/opensr5/ini/RawIniFile.java @@ -79,8 +79,8 @@ public List getValues(String key) { * Immutable representation of since ini file line */ public static class Line { - private String rawText; - private String[] tokens; + private final String rawText; + private final String[] tokens; private static final String namePattern = "[[\\w\\d\\s_]]+"; private static final Pattern DIRECTIVE = Pattern.compile("#(if\\s" + namePattern + "|else|elif\\s\" + namePattern + \"|endif)"); diff --git a/java_console/inifile/src/main/java/com/rusefi/tune/xml/Msq.java b/java_console/inifile/src/main/java/com/rusefi/tune/xml/Msq.java deleted file mode 100644 index dac9310961..0000000000 --- a/java_console/inifile/src/main/java/com/rusefi/tune/xml/Msq.java +++ /dev/null @@ -1,126 +0,0 @@ -package com.rusefi.tune.xml; - -import com.devexperts.logging.Logging; -import com.opensr5.ConfigurationImage; -import com.opensr5.ini.IniFileModel; -import com.opensr5.ini.field.ArrayIniField; -import com.opensr5.ini.field.IniField; -import com.rusefi.core.rusEFIVersion; -import com.rusefi.xml.XmlUtil; -import org.jetbrains.annotations.NotNull; - -import javax.xml.bind.JAXBException; -import javax.xml.bind.annotation.*; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; - -@XmlRootElement -public class Msq { - private static final Logging log = Logging.getLogging(Msq.class); - - public List page = new ArrayList<>(); - - public final VersionInfo versionInfo; - - public Bibliography bibliography = new Bibliography(); - - public Msq() { - versionInfo = new VersionInfo(Integer.toString(rusEFIVersion.CONSOLE_VERSION)); - } - - @NotNull - public static Msq valueOf(ConfigurationImage image, int totalConfigSize, String tsSignature) { - IniFileModel ini = IniFileModel.getInstance(); - Msq tune = create(totalConfigSize, tsSignature); - for (String key : ini.allIniFields.keySet()) - tune.loadConstant(ini, key, image); - return tune; - } - - @NotNull - public static Msq create(int totalConfigSize, String tsSignature) { - Msq tune = new Msq(); - tune.versionInfo.setSignature(tsSignature); - tune.page.add(new Page(null, null)); - tune.page.add(new Page(0, totalConfigSize)); - return tune; - } - - public ConfigurationImage asImage(IniFileModel instance, int totalConfigSize) { - ConfigurationImage ci = new ConfigurationImage(totalConfigSize); - - Page page = findPage(); - if (page == null) - return ci; - for (Constant constant : page.constant) { - if (constant.getName().startsWith("UNALLOCATED_SPACE")) { - continue; - } - IniField field = instance.allIniFields.get(constant.getName()); - Objects.requireNonNull(field, "Field for " + constant.getName()); - log.debug("Setting " + field); - field.setValue(ci, constant); - } - return ci; - } - - public static Msq readTune(String fileName) throws Exception { - return XmlUtil.readModel(Msq.class, fileName); - } - - public void writeXmlFile(String outputXmlFileName) throws JAXBException, IOException { - Objects.requireNonNull(versionInfo, "versionInfo"); - versionInfo.validate(); - Page page = findPage(); - if (page.constant.isEmpty()) - throw new IllegalStateException("Empty Msq file"); - XmlUtil.writeXml(this, Msq.class, outputXmlFileName); - } - - public void loadConstant(IniFileModel ini, String key, ConfigurationImage image) { - IniField field = ini.allIniFields.get(key); - String value = field.getValue(image); - Page page = findPage(); - if (page == null) { - log.error("Msq: No page"); - return; - } - if (value.isEmpty()) { - log.debug("Skipping " + field.getName()); - return; - } - Constant constant = new Constant(field.getName(), field.getUnits(), value, field.getDigits()); - page.constant.add(constant); - if (field instanceof ArrayIniField) { - ArrayIniField arrayIniField = (ArrayIniField) field; - constant.setCols(Integer.toString(arrayIniField.getCols())); - constant.setRows(Integer.toString(arrayIniField.getRows())); - } - } - - public Page findPage() { - for (Page p : page) { - Integer size = p.getSize(); - if (size == null) - continue; - return p; - } - return null; - } - - @XmlElement - public Settings getSettings() { - return new Settings(); - } - - @XmlElement - public UserComments getUserComments() { - return new UserComments(); - } - - public VersionInfo getVersionInfo() { - return versionInfo; - } -} diff --git a/java_console/inifile/src/test/java/com/opensr5/ini/test/IniFileReaderTest.java b/java_console/inifile/src/test/java/com/opensr5/ini/test/IniFileReaderTest.java index 7613cd7014..d756981035 100644 --- a/java_console/inifile/src/test/java/com/opensr5/ini/test/IniFileReaderTest.java +++ b/java_console/inifile/src/test/java/com/opensr5/ini/test/IniFileReaderTest.java @@ -141,7 +141,7 @@ public void testProtocolMeta() { byte[] expected = {'k', 0, 0, 0, 0, 0, 0}; - assertTrue(Arrays.equals(expected, ProtocolCommand.parse(crcProtocol).getBytes())); + assertArrayEquals(expected, ProtocolCommand.parse(crcProtocol).getBytes()); } @Test @@ -177,9 +177,9 @@ public void testBitLogic() { assertEquals(0, EnumIniField.getBitRange(4, 0, 2)); assertEquals(3, EnumIniField.getBitRange(7, 0, 2)); - assertEquals(true, EnumIniField.getBit(0xff, 0)); + assertTrue(EnumIniField.getBit(0xff, 0)); - assertEquals(true, EnumIniField.getBit(0xf0, 4)); + assertTrue(EnumIniField.getBit(0xf0, 4)); assertEquals(2, EnumIniField.getBitRange(0xf0, 3, 2)); } diff --git a/java_console/io/src/main/java/com/rusefi/autodetect/PortDetector.java b/java_console/io/src/main/java/com/rusefi/autodetect/PortDetector.java index e33d6c96ec..cfdc772d00 100644 --- a/java_console/io/src/main/java/com/rusefi/autodetect/PortDetector.java +++ b/java_console/io/src/main/java/com/rusefi/autodetect/PortDetector.java @@ -3,7 +3,6 @@ import com.devexperts.logging.Logging; import com.rusefi.NamedThreadFactory; import com.rusefi.io.LinkManager; -import com.rusefi.io.serial.BaudRateHolder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -25,20 +24,16 @@ public class PortDetector { private static final NamedThreadFactory AUTO_DETECT_PORT = new NamedThreadFactory("ECU AutoDetectPort", true); public static final String AUTO = "auto"; - public enum DetectorMode { - DETECT_TS, - } - /** * Connect to all serial ports and find out which one respond first * @param callback * @return port name on which rusEFI was detected or null if none */ @NotNull - public static SerialAutoChecker.AutoDetectResult autoDetectSerial(Function callback, PortDetector.DetectorMode mode) { + public static SerialAutoChecker.AutoDetectResult autoDetectSerial(Function callback) { String rusEfiAddress = System.getProperty("rusefi.address"); if (rusEfiAddress != null) { - return getSignatureFromPorts(mode, callback, new String[] {rusEfiAddress}); + return getSignatureFromPorts(callback, new String[] {rusEfiAddress}); } String[] serialPorts = getPortNames(); if (serialPorts.length == 0) { @@ -46,11 +41,11 @@ public static SerialAutoChecker.AutoDetectResult autoDetectSerial(Function callback, String[] serialPorts) { + private static SerialAutoChecker.AutoDetectResult getSignatureFromPorts(Function callback, String[] serialPorts) { List serialFinder = new ArrayList<>(); CountDownLatch portFound = new CountDownLatch(1); AtomicReference result = new AtomicReference<>(); @@ -58,7 +53,12 @@ private static SerialAutoChecker.AutoDetectResult getSignatureFromPorts(Detector Thread thread = AUTO_DETECT_PORT.newThread(new Runnable() { @Override public void run() { - new SerialAutoChecker(mode, serialPort, portFound).openAndCheckResponse(mode, result, callback); + SerialAutoChecker.AutoDetectResult checkResult = SerialAutoChecker.openAndCheckResponse(serialPort, callback); + + if (checkResult != null) { + result.set(checkResult); + portFound.countDown(); + } } @Override @@ -93,10 +93,6 @@ public String toString() { return autoDetectResult; } - public static SerialAutoChecker.AutoDetectResult autoDetectSerial(Function callback) { - return autoDetectSerial(callback, PortDetector.DetectorMode.DETECT_TS); - } - private static String[] getPortNames() { // long now = System.currentTimeMillis(); String[] portNames = LinkManager.getCommPorts(); diff --git a/java_console/io/src/main/java/com/rusefi/autodetect/SerialAutoChecker.java b/java_console/io/src/main/java/com/rusefi/autodetect/SerialAutoChecker.java index a9e57fc05a..ffd9cdeb3d 100644 --- a/java_console/io/src/main/java/com/rusefi/autodetect/SerialAutoChecker.java +++ b/java_console/io/src/main/java/com/rusefi/autodetect/SerialAutoChecker.java @@ -6,47 +6,40 @@ import com.rusefi.io.IoStream; import com.rusefi.io.commands.HelloCommand; import com.rusefi.io.serial.BufferedSerialIoStream; -import com.rusefi.io.serial.SerialIoStream; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.io.IOException; -import java.util.concurrent.CountDownLatch; -import java.util.concurrent.atomic.AtomicReference; import java.util.function.Function; import static com.rusefi.binaryprotocol.IoHelper.checkResponseCode; -public class SerialAutoChecker { +public final class SerialAutoChecker { private final static Logging log = Logging.getLogging(SerialAutoChecker.class); - private final PortDetector.DetectorMode mode; - private final String serialPort; - private final CountDownLatch portFound; - - public SerialAutoChecker(PortDetector.DetectorMode mode, String serialPort, CountDownLatch portFound) { - this.mode = mode; - this.serialPort = serialPort; - this.portFound = portFound; + + // static class - no instances + private SerialAutoChecker() { } + + public static String checkResponse(IoStream stream) { + return checkResponse(stream, null); } /** * @return ECU signature from specified stream */ - public String checkResponse(IoStream stream, Function callback) { + public static String checkResponse(IoStream stream, Function callback) { if (stream == null) return null; IncomingDataBuffer incomingData = stream.getDataBuffer(); try { HelloCommand.send(stream); - byte[] response = incomingData.getPacket("auto detect"); + byte[] response = incomingData.getPacket(500, "auto detect"); if (!checkResponseCode(response, (byte) Fields.TS_RESPONSE_OK)) return null; String signature = new String(response, 1, response.length - 1); if (!signature.startsWith(Fields.PROTOCOL_SIGNATURE_PREFIX)) { return null; } - log.info("Got signature=" + signature + " from " + serialPort); if (callback != null) { callback.apply(new CallbackContext(stream, signature)); } @@ -56,26 +49,19 @@ public String checkResponse(IoStream stream, Function cal } } - public void openAndCheckResponse(PortDetector.DetectorMode mode, AtomicReference result, Function callback) { + public static AutoDetectResult openAndCheckResponse(String serialPort, Function callback) { String signature; // java 101: just a reminder that try-with syntax would take care of closing stream and that's important here! - try (IoStream stream = getStreamByMode(mode)) { + try (IoStream stream = BufferedSerialIoStream.openPort(serialPort)) { signature = checkResponse(stream, callback); + log.info("Got signature=" + signature + " from " + serialPort); } + if (signature != null) { - /** - * propagating result after closing the port so that it could be used right away - */ - AutoDetectResult value = new AutoDetectResult(serialPort, signature); - log.info("Propagating " + value); - result.set(value); - portFound.countDown(); + return new AutoDetectResult(serialPort, signature); } - } - @Nullable - private IoStream getStreamByMode(PortDetector.DetectorMode mode) { - return BufferedSerialIoStream.openPort(serialPort); + return null; } public static class CallbackContext { diff --git a/java_console/io/src/main/java/com/rusefi/binaryprotocol/BinaryProtocol.java b/java_console/io/src/main/java/com/rusefi/binaryprotocol/BinaryProtocol.java index 70f0b5378e..6e225257f5 100644 --- a/java_console/io/src/main/java/com/rusefi/binaryprotocol/BinaryProtocol.java +++ b/java_console/io/src/main/java/com/rusefi/binaryprotocol/BinaryProtocol.java @@ -17,7 +17,6 @@ import com.rusefi.io.commands.GetOutputsCommand; import com.rusefi.io.commands.HelloCommand; import com.rusefi.core.FileUtil; -import com.rusefi.tune.xml.Msq; import org.jetbrains.annotations.Nullable; import java.io.IOException; @@ -44,8 +43,7 @@ public class BinaryProtocol { private static final ThreadFactory THREAD_FACTORY = new NamedThreadFactory("ECU text pull", true); private static final String USE_PLAIN_PROTOCOL_PROPERTY = "protocol.plain"; - private static final String CONFIGURATION_RUSEFI_BINARY = "current_configuration.rusefi_binary"; - private static final String CONFIGURATION_RUSEFI_XML = "current_configuration.msq"; + /** * This properly allows to switch to non-CRC32 mode * todo: finish this feature, assuming we even need it. @@ -162,7 +160,7 @@ public static String getSignature(IoStream stream) throws IOException { * * @return true if everything fine */ - public String connectAndReadConfiguration(Arguments arguments, DataListener listener) { + public String connectAndReadConfiguration(DataListener listener) { try { signature = getSignature(stream); log.info("Got " + signature + " signature"); @@ -175,7 +173,7 @@ public String connectAndReadConfiguration(Arguments arguments, DataListener list if (errorMessage != null) return errorMessage; - readImage(arguments, Fields.TOTAL_CONFIG_SIZE); + readImage(Fields.TOTAL_CONFIG_SIZE); if (isClosed) return "Failed to read calibration"; @@ -215,10 +213,11 @@ public void run() { // FileLog.rlog("queue: " + LinkManager.COMMUNICATION_QUEUE.toString()); if (linkManager.COMMUNICATION_QUEUE.isEmpty() && linkManager.getNeedPullData()) { linkManager.submit(new Runnable() { - private final boolean verbose = false; // todo: programmatically detect run under gradle? @Override public void run() { isGoodOutputChannels = requestOutputChannels(); + // todo: programmatically detect run under gradle? + boolean verbose = false; if (verbose) System.out.println("requestOutputChannels " + isGoodOutputChannels); if (isGoodOutputChannels) @@ -286,31 +285,19 @@ private byte[] receivePacket(String msg) throws IOException { /** * read complete tune from physical data stream */ - public void readImage(Arguments arguments, int size) { - ConfigurationImage image = getAndValidateLocallyCached(); + public void readImage(int size) { + ConfigurationImage image = readFullImageFromController(size); + if (image == null) + return; - if (image == null) { - image = readFullImageFromController(arguments, size); - if (image == null) - return; - } setController(image); log.info("Got configuration from controller " + size + " byte(s)"); ConnectionStatusLogic.INSTANCE.setValue(ConnectionStatusValue.CONNECTED); } - public static class Arguments { - final boolean saveFile; - - public Arguments(boolean saveFile) { - this.saveFile = saveFile; - } - } - @Nullable - private ConfigurationImage readFullImageFromController(Arguments arguments, int size) { - ConfigurationImage image; - image = new ConfigurationImage(size); + private ConfigurationImage readFullImageFromController(int size) { + final ConfigurationImage image = new ConfigurationImage(size); int offset = 0; @@ -346,15 +333,7 @@ private ConfigurationImage readFullImageFromController(Arguments arguments, int offset += requestSize; } - if (arguments != null && arguments.saveFile) { - try { - ConfigurationImageFile.saveToFile(image, CONFIGURATION_RUSEFI_BINARY); - Msq tune = MsqFactory.valueOf(image); - tune.writeXmlFile(CONFIGURATION_RUSEFI_XML); - } catch (Exception e) { - System.err.println("Ignoring " + e); - } - } + return image; } @@ -381,31 +360,6 @@ private static int extractCode(byte[] response) { return response[0] & 0xff; } - private ConfigurationImage getAndValidateLocallyCached() { - if (DISABLE_LOCAL_CONFIGURATION_CACHE) - return null; - ConfigurationImage localCached; - try { - localCached = ConfigurationImageFile.readFromFile(CONFIGURATION_RUSEFI_BINARY); - } catch (IOException e) { - System.err.println("Error reading " + CONFIGURATION_RUSEFI_BINARY + ": no worries " + e); - return null; - } - - if (localCached != null) { - int crcOfLocallyCachedConfiguration = IoHelper.getCrc32(localCached.getContent()); - log.info(String.format(CONFIGURATION_RUSEFI_BINARY + " Local cache CRC %x\n", crcOfLocallyCachedConfiguration)); - - int crcFromController = getCrcFromController(localCached.getSize()); - - if (crcOfLocallyCachedConfiguration == crcFromController) { - return localCached; - } - - } - return null; - } - public int getCrcFromController(int configSize) { byte[] packet = createCrcCommand(configSize); byte[] response = executeCommand(Fields.TS_CRC_CHECK_COMMAND, packet, "get CRC32"); @@ -568,7 +522,7 @@ public String requestPendingTextMessages() { log.error("ERROR: TS_GET_TEXT failed"); return null; } - if (response != null && response.length == 1) { + if (response.length == 1) { // todo: what is this sleep doing exactly? Thread.sleep(100); } diff --git a/java_console/io/src/main/java/com/rusefi/binaryprotocol/IncomingDataBuffer.java b/java_console/io/src/main/java/com/rusefi/binaryprotocol/IncomingDataBuffer.java index 251a141160..9ff5fbae3c 100644 --- a/java_console/io/src/main/java/com/rusefi/binaryprotocol/IncomingDataBuffer.java +++ b/java_console/io/src/main/java/com/rusefi/binaryprotocol/IncomingDataBuffer.java @@ -45,14 +45,22 @@ public IncomingDataBuffer(String loggingPrefix, AbstractIoStream.StreamStats str } public byte[] getPacket(String msg) throws EOFException { - return getPacket(msg, System.currentTimeMillis()); + return getPacket(Timeouts.BINARY_IO_TIMEOUT, msg, System.currentTimeMillis()); + } + + public byte[] getPacket(String msg, long start) throws EOFException { + return getPacket(Timeouts.BINARY_IO_TIMEOUT, msg, start); + } + + public byte[] getPacket(int timeoutMs, String msg) throws EOFException { + return getPacket(timeoutMs, msg, System.currentTimeMillis()); } /** * why does this method return NULL in case of timeout?! * todo: there is a very similar BinaryProtocolServer#readPromisedBytes which throws exception in case of timeout */ - public byte[] getPacket(String msg, long start) throws EOFException { + public byte[] getPacket(int timeoutMs, String msg, long start) throws EOFException { boolean isTimeout = waitForBytes(msg + " header", start, 2); if (isTimeout) { if (Bug3923.obscene) @@ -66,7 +74,7 @@ public byte[] getPacket(String msg, long start) throws EOFException { if (packetSize < 0) return null; - isTimeout = waitForBytes(loggingPrefix + msg + " body", start, packetSize + 4); + isTimeout = waitForBytes(timeoutMs, loggingPrefix + msg + " body", start, packetSize + 4); if (isTimeout) return null; diff --git a/java_console/io/src/main/java/com/rusefi/binaryprotocol/MsqFactory.java b/java_console/io/src/main/java/com/rusefi/binaryprotocol/MsqFactory.java deleted file mode 100644 index 6f4e4b67fc..0000000000 --- a/java_console/io/src/main/java/com/rusefi/binaryprotocol/MsqFactory.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.rusefi.binaryprotocol; - -import com.opensr5.ConfigurationImage; -import com.rusefi.config.generated.Fields; -import com.rusefi.tune.xml.Msq; - -public class MsqFactory { - public static Msq valueOf(ConfigurationImage image) { - return Msq.valueOf(image, Fields.TOTAL_CONFIG_SIZE, Fields.TS_SIGNATURE); - } -} diff --git a/java_console/io/src/main/java/com/rusefi/enums/SensorType.java b/java_console/io/src/main/java/com/rusefi/enums/SensorType.java index 2219966a51..edabf5c69e 100644 --- a/java_console/io/src/main/java/com/rusefi/enums/SensorType.java +++ b/java_console/io/src/main/java/com/rusefi/enums/SensorType.java @@ -11,10 +11,13 @@ public enum SensorType { Rpm, Map, Maf, + AmbientTemperature, OilPressure, + OilTemperature, FuelPressureLow, FuelPressureHigh, FuelPressureInjector, + FuelTemperature, Tps1, Tps1Primary, Tps1Secondary, @@ -45,6 +48,8 @@ public enum SensorType { Map2, MapSlow2, MapFast2, + CompressorDischargePressure, + CompressorDischargeTemperature, ThrottleInletPressure, DetectedGear, AuxAnalog1, diff --git a/java_console/io/src/main/java/com/rusefi/enums/bench_mode_e.java b/java_console/io/src/main/java/com/rusefi/enums/bench_mode_e.java index c7a5ba8f2b..bb264cc7ba 100644 --- a/java_console/io/src/main/java/com/rusefi/enums/bench_mode_e.java +++ b/java_console/io/src/main/java/com/rusefi/enums/bench_mode_e.java @@ -22,4 +22,8 @@ public enum bench_mode_e { BENCH_CANCEL, BENCH_FUEL_PUMP_ON, BENCH_FUEL_PUMP_OFF, + BENCH_VVT_1_TARGET_BUMP, + BENCH_VVT_2_TARGET_BUMP, + BENCH_VVT_3_TARGET_BUMP, + BENCH_VVT_4_TARGET_BUMP, } diff --git a/java_console/io/src/main/java/com/rusefi/enums/debug_mode_e.java b/java_console/io/src/main/java/com/rusefi/enums/debug_mode_e.java index f7d2cf4f30..58b6caffb6 100644 --- a/java_console/io/src/main/java/com/rusefi/enums/debug_mode_e.java +++ b/java_console/io/src/main/java/com/rusefi/enums/debug_mode_e.java @@ -11,22 +11,22 @@ public enum debug_mode_e { DBG_STEPPER_IDLE_CONTROL, DBG_EL_ACCEL, DBG_TRIGGER_COUNTERS, - DBG_SOFT_SPARK_CUT, + DBG_6, DBG_7, DBG_8, DBG_9, DBG_10, DBG_11, - DBG_UNUSED12, - DBG_SD_CARD, + DBG_12, + DBG_13, DBG_SR5_PROTOCOL, - DBG_KNOCK, + DBG_15, DBG_16, DBG_ELECTRONIC_THROTTLE_PID, DBG_EXECUTOR, - DBG_BENCH_TEST, + DBG_19, DBG_20, - DBG_ANALOG_INPUTS, + DBG_21, DBG_INSTANT_RPM, UNUSED23, DBG_24, @@ -37,7 +37,7 @@ public enum debug_mode_e { DBG_29, DBG_ION, DBG_TLE8888, - DBG_ANALOG_INPUTS2, + DBG_32, DBG_DWELL_METRIC, DBG_34, DBG_35, diff --git a/java_console/io/src/main/java/com/rusefi/enums/engine_type_e.java b/java_console/io/src/main/java/com/rusefi/enums/engine_type_e.java index 4f03c9b49d..efa4072df6 100644 --- a/java_console/io/src/main/java/com/rusefi/enums/engine_type_e.java +++ b/java_console/io/src/main/java/com/rusefi/enums/engine_type_e.java @@ -9,15 +9,15 @@ public enum engine_type_e { MIATA_PROTEUS_TCU, DODGE_NEON_1995, FORD_ASPIRE_1996, - PROTEUS_MIATA_NA6, + POLYGONUS_MIATA_NA6, NISSAN_PRIMERA, PROTEUS_HARLEY, FORD_INLINE_6_1995, GY6_139QMB, PROTEUS_E65_6H_MAN_IN_THE_MIDDLE, HELLEN_NA8_96, - ET_UNUSED_11, - ET_UNUSED_12, + POLYGONUS_MIATA_NB1, + POLYGONUS_MIATA_MSM, ET_UNUSED_13, FORD_ESCORT_GT, ET_UNUSED_15, @@ -72,7 +72,7 @@ public enum engine_type_e { DODGE_RAM, CITROEN_TU3JP, MRE_MIATA_NA6_MAP, - PROTEUS_MIATA_NB2, + POLYGONUS_MIATA_NB2, MRE_M111, HELLEN_NB2, SUBARUEG33_DEFAULTS, diff --git a/java_console/io/src/main/java/com/rusefi/enums/trigger_type_e.java b/java_console/io/src/main/java/com/rusefi/enums/trigger_type_e.java index 120c23b230..ae4d834935 100644 --- a/java_console/io/src/main/java/com/rusefi/enums/trigger_type_e.java +++ b/java_console/io/src/main/java/com/rusefi/enums/trigger_type_e.java @@ -22,7 +22,7 @@ public enum trigger_type_e { TT_DODGE_NEON_2003_CAM, TT_MAZDA_DOHC_1_4, TT_ONE_PLUS_ONE, - TT_VVT_JZ, + TT_VVT_TOYOTA_3_TOOTH, TT_ONE, TT_DODGE_RAM, TT_60_2_VW, diff --git a/java_console/io/src/main/java/com/rusefi/io/DfuHelper.java b/java_console/io/src/main/java/com/rusefi/io/DfuHelper.java index 66db429679..62e1915aea 100644 --- a/java_console/io/src/main/java/com/rusefi/io/DfuHelper.java +++ b/java_console/io/src/main/java/com/rusefi/io/DfuHelper.java @@ -5,8 +5,6 @@ import com.rusefi.core.SignatureHelper; import com.rusefi.core.io.BundleUtil; import com.rusefi.binaryprotocol.BinaryProtocol; -import com.rusefi.config.generated.Fields; -import com.rusefi.ui.StatusConsumer; import javax.swing.*; import java.io.IOException; @@ -19,18 +17,18 @@ public class DfuHelper { private static final Logging log = getLogging(DfuHelper.class); private static final String PREFIX = "rusefi_bundle"; - public static void sendDfuRebootCommand(IoStream stream, StatusConsumer messages) { - byte[] command = BinaryProtocol.getTextCommandBytes(Fields.CMD_REBOOT_DFU); + public static void sendDfuRebootCommand(IoStream stream, UpdateOperationCallbacks callbacks, String cmd) { + byte[] command = BinaryProtocol.getTextCommandBytes(cmd); try { stream.sendPacket(command); stream.close(); - messages.append(String.format("Reboot command [%s] sent into %s!\n", Fields.CMD_REBOOT_DFU, stream)); + callbacks.log(String.format("Reboot command [%s] sent into %s!\n", cmd, stream)); } catch (IOException e) { - messages.append("Error " + e); + callbacks.log("Error " + e); } } - public static boolean sendDfuRebootCommand(JComponent parent, String signature, IoStream stream, StatusConsumer messages) { + public static boolean sendDfuRebootCommand(JComponent parent, String signature, IoStream stream, UpdateOperationCallbacks callbacks, String command) { RusEfiSignature controllerSignature = SignatureHelper.parse(signature); String fileSystemBundleTarget = BundleUtil.getBundleTarget(); if (fileSystemBundleTarget != null && controllerSignature != null) { @@ -56,7 +54,7 @@ public static boolean sendDfuRebootCommand(JComponent parent, String signature, } } - sendDfuRebootCommand(stream, messages); + sendDfuRebootCommand(stream, callbacks, command); return true; } } diff --git a/java_console/io/src/main/java/com/rusefi/io/IoStream.java b/java_console/io/src/main/java/com/rusefi/io/IoStream.java index 1b6793d44b..ba3dc6b67a 100644 --- a/java_console/io/src/main/java/com/rusefi/io/IoStream.java +++ b/java_console/io/src/main/java/com/rusefi/io/IoStream.java @@ -1,6 +1,5 @@ package com.rusefi.io; -import com.devexperts.logging.Logging; import com.opensr5.io.DataListener; import com.opensr5.io.WriteStream; import com.rusefi.binaryprotocol.BinaryProtocol; @@ -15,8 +14,6 @@ import java.io.EOFException; import java.io.IOException; -import static com.devexperts.logging.Logging.getLogging; - /** * Physical bi-directional controller communication level *

diff --git a/java_console/io/src/main/java/com/rusefi/io/LinkConnector.java b/java_console/io/src/main/java/com/rusefi/io/LinkConnector.java index 39b3fbb2d8..bdd2a9c56a 100644 --- a/java_console/io/src/main/java/com/rusefi/io/LinkConnector.java +++ b/java_console/io/src/main/java/com/rusefi/io/LinkConnector.java @@ -11,7 +11,7 @@ public interface LinkConnector extends LinkDecoder { LinkConnector VOID = new LinkConnector() { @Override - public void connectAndReadConfiguration(BinaryProtocol.Arguments arguments, ConnectionStateListener listener) { + public void connectAndReadConfiguration(ConnectionStateListener listener) { } @Override @@ -33,7 +33,7 @@ public BinaryProtocolState getBinaryProtocolState() { } @Override - public void connectAndReadConfiguration(BinaryProtocol.Arguments arguments, ConnectionStateListener listener) { + public void connectAndReadConfiguration(ConnectionStateListener listener) { throw new UnsupportedOperationException(); } @@ -49,7 +49,7 @@ public BinaryProtocol getBinaryProtocol() { }; } - void connectAndReadConfiguration(BinaryProtocol.Arguments arguments, ConnectionStateListener listener); + void connectAndReadConfiguration(ConnectionStateListener listener); void send(String command, boolean fireEvent) throws InterruptedException; diff --git a/java_console/io/src/main/java/com/rusefi/io/LinkManager.java b/java_console/io/src/main/java/com/rusefi/io/LinkManager.java index cb42d81195..baee6b95e8 100644 --- a/java_console/io/src/main/java/com/rusefi/io/LinkManager.java +++ b/java_console/io/src/main/java/com/rusefi/io/LinkManager.java @@ -113,8 +113,18 @@ public static String[] getCommPorts() { SerialPort[] ports = SerialPort.getCommPorts(); // wow sometimes driver returns same port name more than once?! TreeSet names = new TreeSet<>(); - for (SerialPort port : ports) - names.add(port.getSystemPortName()); + for (SerialPort port : ports) { + String portName = port.getSystemPortName(); + + // Filter out some macOS trash + if (portName.contains("wlan-debug") || + portName.contains("Bluetooth-Incoming-Port") || + portName.startsWith("cu.")) { + continue; + } + + names.add(portName); + } return names.toArray(new String[0]); } @@ -197,7 +207,7 @@ public EngineState getEngineState() { public void startAndConnect(String port, ConnectionStateListener stateListener) { Objects.requireNonNull(port, "port"); start(port, stateListener); - connector.connectAndReadConfiguration(new BinaryProtocol.Arguments(true), stateListener); + connector.connectAndReadConfiguration(stateListener); } @NotNull @@ -230,12 +240,7 @@ public IoStream call() { @Override public IoStream call() { messageListener.postMessage(getClass(), "Opening port: " + port); - IoStream stream = BufferedSerialIoStream.openPort(port); - if (stream == null) { - // error already reported - return null; - } - return stream; + return BufferedSerialIoStream.openPort(port); } }; setConnector(new StreamConnector(this, ioStreamCallable)); diff --git a/java_console/io/src/main/java/com/rusefi/io/UpdateOperationCallbacks.java b/java_console/io/src/main/java/com/rusefi/io/UpdateOperationCallbacks.java new file mode 100644 index 0000000000..25d10e6fff --- /dev/null +++ b/java_console/io/src/main/java/com/rusefi/io/UpdateOperationCallbacks.java @@ -0,0 +1,23 @@ +package com.rusefi.io; + +public interface UpdateOperationCallbacks { + void log(String message); + void done(); + void error(); + + class UpdateOperationDummy implements UpdateOperationCallbacks { + @Override + public void log(String message) { + } + + @Override + public void done() { + } + + @Override + public void error() { + } + } + + UpdateOperationCallbacks DUMMY = new UpdateOperationDummy(); +} diff --git a/java_console/io/src/main/java/com/rusefi/io/serial/PortHolder.java b/java_console/io/src/main/java/com/rusefi/io/serial/PortHolder.java index 2b65093002..afa895de71 100644 --- a/java_console/io/src/main/java/com/rusefi/io/serial/PortHolder.java +++ b/java_console/io/src/main/java/com/rusefi/io/serial/PortHolder.java @@ -43,7 +43,7 @@ protected PortHolder(LinkManager linkManager, Callable ioStreamFactory /** * @return true if OK, false if error */ - void connectAndReadConfiguration(BinaryProtocol.Arguments arguments) { + void connectAndReadConfiguration() { IoStream stream = ioStreamFactory.call(); if (stream == null) { // error already reported @@ -54,7 +54,7 @@ void connectAndReadConfiguration(BinaryProtocol.Arguments arguments) { portLock.notifyAll(); } - String errorMessage = bp.connectAndReadConfiguration(arguments, dataListener); + String errorMessage = bp.connectAndReadConfiguration(dataListener); if (listener != null) { if (errorMessage == null) { listener.onConnectionEstablished(); diff --git a/java_console/io/src/main/java/com/rusefi/io/serial/StreamConnector.java b/java_console/io/src/main/java/com/rusefi/io/serial/StreamConnector.java index eaa3b72405..5deaee1396 100644 --- a/java_console/io/src/main/java/com/rusefi/io/serial/StreamConnector.java +++ b/java_console/io/src/main/java/com/rusefi/io/serial/StreamConnector.java @@ -27,13 +27,13 @@ public StreamConnector(LinkManager linkManager, Callable ioStreamCalla } @Override - public void connectAndReadConfiguration(BinaryProtocol.Arguments arguments, ConnectionStateListener listener) { + public void connectAndReadConfiguration(ConnectionStateListener listener) { log.info("StreamConnector: connecting"); portHolder.listener = listener; log.info("scheduleOpening"); linkManager.execute(() -> { log.info("scheduleOpening>openPort"); - portHolder.connectAndReadConfiguration(arguments); + portHolder.connectAndReadConfiguration(); }); } diff --git a/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolServer.java b/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolServer.java index bd802199dc..4d573ff8ac 100644 --- a/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolServer.java +++ b/java_console/io/src/main/java/com/rusefi/io/tcp/BinaryProtocolServer.java @@ -60,13 +60,13 @@ public class BinaryProtocolServer { public void start(LinkManager linkManager) { try { - start(linkManager, DEFAULT_PROXY_PORT, Listener.empty(), new Context()); + start(linkManager, DEFAULT_PROXY_PORT, new Context()); } catch (IOException e) { log.warn("Error starting local proxy: " + e); } } - public void start(LinkManager linkManager, int port, Listener serverSocketCreationCallback, Context context) throws IOException { + public void start(LinkManager linkManager, int port, Context context) throws IOException { log.info("BinaryProtocolServer on " + port); CompatibleFunction clientSocketRunnableFactory = clientSocket -> () -> { @@ -77,7 +77,7 @@ public void start(LinkManager linkManager, int port, Listener serverSocketCreati } }; - tcpServerSocket(port, "BinaryProtocolServer", clientSocketRunnableFactory, serverSocketCreationCallback, StatusConsumer.ANONYMOUS); + tcpServerSocket(port, "BinaryProtocolServer", clientSocketRunnableFactory, StatusConsumer.ANONYMOUS); } /** @@ -90,23 +90,21 @@ public void start(LinkManager linkManager, int port, Listener serverSocketCreati * @param statusConsumer * @return */ - public static ServerSocketReference tcpServerSocket(int port, String threadName, CompatibleFunction socketRunnableFactory, Listener serverSocketCreationCallback, StatusConsumer statusConsumer) throws IOException { - return tcpServerSocket(socketRunnableFactory, port, threadName, serverSocketCreationCallback, p -> { + public static ServerSocketReference tcpServerSocket(int port, String threadName, CompatibleFunction socketRunnableFactory, StatusConsumer statusConsumer) throws IOException { + return tcpServerSocket(socketRunnableFactory, port, threadName, p -> { ServerSocket serverSocket = new ServerSocket(p); statusConsumer.append("ServerSocket " + p + " created. Feel free to point TS at IP Address 'localhost' port " + p); return serverSocket; }); } - public static ServerSocketReference tcpServerSocket(CompatibleFunction clientSocketRunnableFactory, int port, String threadName, Listener serverSocketCreationCallback, ServerSocketFunction nonSecureSocketFunction) throws IOException { + public static ServerSocketReference tcpServerSocket(CompatibleFunction clientSocketRunnableFactory, int port, String threadName, ServerSocketFunction nonSecureSocketFunction) throws IOException { ThreadFactory threadFactory = getThreadFactory(threadName); - Objects.requireNonNull(serverSocketCreationCallback, "serverSocketCreationCallback"); ServerSocket serverSocket = nonSecureSocketFunction.apply(port); ServerSocketReference holder = new ServerSocketReference(serverSocket); - serverSocketCreationCallback.onResult(null); Runnable runnable = () -> { while (!holder.isClosed()) { // Wait for a connection diff --git a/java_console/io/src/main/java/com/rusefi/io/tcp/TcpConnector.java b/java_console/io/src/main/java/com/rusefi/io/tcp/TcpConnector.java index 35fe040be5..f80c92e149 100644 --- a/java_console/io/src/main/java/com/rusefi/io/tcp/TcpConnector.java +++ b/java_console/io/src/main/java/com/rusefi/io/tcp/TcpConnector.java @@ -3,10 +3,10 @@ import com.devexperts.logging.Logging; import java.io.IOException; +import java.net.InetSocketAddress; import java.net.Socket; import java.util.Collection; import java.util.Collections; -import java.util.Date; import static com.devexperts.logging.Logging.getLogging; @@ -74,7 +74,8 @@ public static Collection getAvailablePorts() { public static boolean isTcpPortOpened() { long now = System.currentTimeMillis(); try { - Socket s = new Socket(LOCALHOST, DEFAULT_PORT); + Socket s = new Socket(); + s.connect(new InetSocketAddress(LOCALHOST, DEFAULT_PORT), 500); s.close(); return true; } catch (IOException e) { diff --git a/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/BinaryProtocolServerSandbox.java b/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/BinaryProtocolServerSandbox.java index 3b639a092e..5d6fe65335 100644 --- a/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/BinaryProtocolServerSandbox.java +++ b/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/BinaryProtocolServerSandbox.java @@ -10,8 +10,6 @@ import com.rusefi.io.tcp.BinaryProtocolServer; import com.rusefi.tune.xml.Constant; -import java.io.File; - /** * Starts a fake device with TCP connector at {@link BinaryProtocolServer#DEFAULT_PROXY_PORT} port * @see TcpServerSandbox what's the difference? diff --git a/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/CRCTest.java b/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/CRCTest.java index baf456510a..8247f3cc01 100644 --- a/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/CRCTest.java +++ b/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/CRCTest.java @@ -5,8 +5,7 @@ import java.util.Arrays; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; /** * Andrey Belomutskiy, (c) 2013-2020 @@ -30,7 +29,6 @@ public void testPackPacket() { byte[] command = {'S'}; byte[] expected = {0, 1, 0x53, 0x20, 0x60, -17, -61}; byte[] actual = IoHelper.makeCrc32Packet(command); - assertTrue(Arrays.toString(expected) + " vs " + Arrays.toString(actual), - Arrays.equals(expected, actual)); + assertArrayEquals(Arrays.toString(expected) + " vs " + Arrays.toString(actual), expected, actual); } } diff --git a/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/SandboxCommon.java b/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/SandboxCommon.java index 56fb6b8169..ed6506ae7e 100644 --- a/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/SandboxCommon.java +++ b/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/SandboxCommon.java @@ -31,7 +31,7 @@ static ConfigurationImage readImage(IoStream tsStream, LinkManager linkManager) StreamConnector streamConnector = new StreamConnector(linkManager, () -> tsStream); linkManager.setConnector(streamConnector); - streamConnector.connectAndReadConfiguration(new BinaryProtocol.Arguments(false), new ConnectionStateListener() { + streamConnector.connectAndReadConfiguration(new ConnectionStateListener() { @Override public void onConnectionEstablished() { log.info("onConnectionEstablished"); diff --git a/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/SerialSandbox.java b/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/SerialSandbox.java index c2a36e31c3..33d9c59a21 100644 --- a/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/SerialSandbox.java +++ b/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/SerialSandbox.java @@ -6,7 +6,6 @@ import com.rusefi.io.LinkManager; import java.util.Date; -import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; public class SerialSandbox { diff --git a/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/TcpServerSandbox.java b/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/TcpServerSandbox.java index 5691c2d7bb..d34fd386f1 100644 --- a/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/TcpServerSandbox.java +++ b/java_console/io/src/test/java/com/rusefi/binaryprotocol/test/TcpServerSandbox.java @@ -34,7 +34,6 @@ public class TcpServerSandbox { private final static byte[] TOTALLY_EMPTY_CONFIGURATION = new byte[Fields.TOTAL_CONFIG_SIZE]; public static void main(String[] args) throws IOException { - Listener serverSocketCreationCallback = parameter -> System.out.println("serverSocketCreationCallback"); CompatibleFunction socketRunnableFactory = new CompatibleFunction() { @Override public Runnable apply(Socket socket) { @@ -67,8 +66,7 @@ public void run() { }; } }; - BinaryProtocolServer.tcpServerSocket(29001, "server", socketRunnableFactory, - serverSocketCreationCallback, StatusConsumer.ANONYMOUS); + BinaryProtocolServer.tcpServerSocket(29001, "server", socketRunnableFactory, StatusConsumer.ANONYMOUS); } static class EcuState { diff --git a/java_console/io/src/testFixtures/java/com/rusefi/TestHelper.java b/java_console/io/src/testFixtures/java/com/rusefi/TestHelper.java index 7cfb8b7bf4..4834ca5d3c 100644 --- a/java_console/io/src/testFixtures/java/com/rusefi/TestHelper.java +++ b/java_console/io/src/testFixtures/java/com/rusefi/TestHelper.java @@ -6,7 +6,6 @@ import com.rusefi.binaryprotocol.BinaryProtocolState; import com.rusefi.config.Field; import com.rusefi.config.generated.Fields; -import com.rusefi.core.rusEFIVersion; import com.rusefi.io.IoStream; import com.rusefi.io.LinkConnector; import com.rusefi.io.LinkManager; @@ -28,7 +27,6 @@ import static com.rusefi.config.generated.Fields.TS_FILE_VERSION_OFFSET; import static com.rusefi.io.tcp.TcpConnector.LOCALHOST; import org.junit.Assert; -import static org.junit.Assert.assertTrue; public class TestHelper extends MockitoTestHelper { private static final Logging log = getLogging(TestHelper.class); @@ -51,7 +49,7 @@ public static ConfigurationImage prepareImage(int input, ScalarIniField scalarIn } @NotNull - public static BinaryProtocolServer createVirtualController(ConfigurationImage ci, int port, Listener serverSocketCreationCallback, BinaryProtocolServer.Context context) throws IOException { + public static BinaryProtocolServer createVirtualController(ConfigurationImage ci, int port, BinaryProtocolServer.Context context) throws IOException { BinaryProtocolState state = new BinaryProtocolState(); state.setController(ci); byte[] currentOutputs = new byte[Fields.TS_TOTAL_OUTPUT_SIZE]; @@ -62,7 +60,7 @@ public static BinaryProtocolServer createVirtualController(ConfigurationImage ci LinkManager linkManager = new LinkManager(); linkManager.setConnector(LinkConnector.getDetachedConnector(state)); BinaryProtocolServer server = new BinaryProtocolServer(); - server.start(linkManager, port, serverSocketCreationCallback, context); + server.start(linkManager, port, context); return server; } @@ -80,9 +78,7 @@ public static IoStream connectToLocalhost(int controllerPort) { public static BinaryProtocolServer createVirtualController(int controllerPort, ConfigurationImage controllerImage, BinaryProtocolServer.Context context) throws InterruptedException { CountDownLatch controllerCreated = new CountDownLatch(1); try { - BinaryProtocolServer server = createVirtualController(controllerImage, controllerPort, parameter -> controllerCreated.countDown(), context); - assertLatch(controllerCreated); - return server; + return createVirtualController(controllerImage, controllerPort, context); } catch (IOException e) { throw new IllegalStateException(e); } diff --git a/java_console/logging-api/src/main/java/com/devexperts/logging/DefaultLogging.java b/java_console/logging-api/src/main/java/com/devexperts/logging/DefaultLogging.java index b7acfed7bc..4d15cddec7 100644 --- a/java_console/logging-api/src/main/java/com/devexperts/logging/DefaultLogging.java +++ b/java_console/logging-api/src/main/java/com/devexperts/logging/DefaultLogging.java @@ -57,7 +57,7 @@ Map configureLogFileAndConsole(String log_file) { Map configureLogFile(String log_file) { Logger root = getRootLogger(); - Map errors = new LinkedHashMap(); + Map errors = new LinkedHashMap<>(); try { // Don't reset configuration. Retain all manually configured loggers, but @@ -153,7 +153,7 @@ static int getLimit(String key, Map errors) { value = value.substring(0, value.length() - 1); } try { - return Integer.valueOf(value) * multiplier; + return Integer.parseInt(value) * multiplier; } catch (NumberFormatException e) { errors.put(key, e); return 0; diff --git a/java_console/logging-api/src/main/java/com/devexperts/logging/Logging.java b/java_console/logging-api/src/main/java/com/devexperts/logging/Logging.java index 62b833fef2..0a60ad8d46 100644 --- a/java_console/logging-api/src/main/java/com/devexperts/logging/Logging.java +++ b/java_console/logging-api/src/main/java/com/devexperts/logging/Logging.java @@ -98,7 +98,7 @@ public final String getName() { * need to print their debugging information in production environment. */ public final void configureDebugEnabled(boolean defaultDebugEnabled) { - IMPL.setDebugEnabled(peer, Boolean.valueOf(DefaultLogging.getProperty(getName() + ".debug", + IMPL.setDebugEnabled(peer, Boolean.parseBoolean(DefaultLogging.getProperty(getName() + ".debug", String.valueOf(defaultDebugEnabled)))); } diff --git a/java_console/logging-api/src/main/java/com/devexperts/logging/ThreadNameFormatter.java b/java_console/logging-api/src/main/java/com/devexperts/logging/ThreadNameFormatter.java index 96163c2de1..e46c1366bc 100644 --- a/java_console/logging-api/src/main/java/com/devexperts/logging/ThreadNameFormatter.java +++ b/java_console/logging-api/src/main/java/com/devexperts/logging/ThreadNameFormatter.java @@ -20,6 +20,7 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.HashSet; import java.util.LinkedHashMap; import java.util.Map; @@ -67,13 +68,13 @@ private static void loadPatterns() { return; BufferedReader reader = new BufferedReader( - new InputStreamReader(config_input_stream, Charset.forName("ISO-8859-1"))); + new InputStreamReader(config_input_stream, StandardCharsets.ISO_8859_1)); Pattern config_line_pattern = Pattern.compile("((?:[^=]|(?:\\\\=))*[^\\\\=])=(.*)"); Pattern whitespace_line_pattern = Pattern.compile("\\s*"); Pattern comment_line_pattern = Pattern.compile("#.*|!.*"); String line; - Set patterns_set = new HashSet(); + Set patterns_set = new HashSet<>(); while ((line = reader.readLine()) != null) { Matcher config_line_matcher = config_line_pattern.matcher(line); // If it is whitespace or comment line diff --git a/java_console/logging/src/main/java/com/rusefi/util/LazyFile.java b/java_console/logging/src/main/java/com/rusefi/util/LazyFile.java index 02542434a0..40d6f78e7b 100644 --- a/java_console/logging/src/main/java/com/rusefi/util/LazyFile.java +++ b/java_console/logging/src/main/java/com/rusefi/util/LazyFile.java @@ -1,9 +1,6 @@ package com.rusefi.util; import java.io.*; -import java.nio.file.Paths; -import java.util.Scanner; -import java.util.regex.Pattern; /** * This file would override file content only of content has changed, disregarding the magic tag line. diff --git a/java_console/models/src/main/java/com/rusefi/AverageAngles.java b/java_console/models/src/main/java/com/rusefi/AverageAngles.java index 20826a47b3..8c7e2cbc0d 100644 --- a/java_console/models/src/main/java/com/rusefi/AverageAngles.java +++ b/java_console/models/src/main/java/com/rusefi/AverageAngles.java @@ -25,7 +25,7 @@ enum trigger_event_e { SHAFT_SECONDARY_FALLING(SECONDARY), SHAFT_SECONDARY_RISING(SECONDARY); - private String channel; + private final String channel; trigger_event_e(String channel) { this.channel = channel; @@ -71,7 +71,7 @@ public void add(int rpm, String line) { List current = new ArrayList<>(); for (int i = 0; i < v.length / 2; i++) { - Double angle = Double.parseDouble(v[2 * i]); + double angle = Double.parseDouble(v[2 * i]); int signal = (int) Double.parseDouble(v[2 * i + 1]); if (Double.isNaN(angle)) { System.out.println("Skipping due to NaN"); @@ -120,7 +120,7 @@ public void printReport(Appendable stream) throws IOException { } if (angleData.isEmpty()) return; - Double lastValue = angles.get(angles.size() - 1).angle; + double lastValue = angles.get(angles.size() - 1).angle; stream.append("Last value = " + lastValue + ", using it to offset...\r\n"); double delta = 720 - lastValue; stream.append("And the " + angles.size() + " angles are:\r\n"); diff --git a/java_console/models/src/main/java/com/rusefi/autotune/AfrDataPoint.java b/java_console/models/src/main/java/com/rusefi/autotune/AfrDataPoint.java deleted file mode 100644 index 0417ccd399..0000000000 --- a/java_console/models/src/main/java/com/rusefi/autotune/AfrDataPoint.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.rusefi.autotune; - -import com.rusefi.config.generated.Fields; - -/** - * Air/Fuel ratio data point - * - * Andrey Belomutskiy, (c) 2013-2020 - * 2/23/2016. - */ -public class AfrDataPoint { - private final double afr; - private final int rpm; - private final double engineLoad; - - private final int rpmIndex; - private final int engineLoadIndex; - - public AfrDataPoint(double afr, int rpmIndex, int engineLoadIndex, int rpm, double engineLoad) { - this.rpm = rpm; - this.engineLoad = engineLoad; - if (rpmIndex < 0 || rpmIndex >= Fields.FUEL_RPM_COUNT) - throw new IllegalStateException("rpmIndex " + rpmIndex); - if (engineLoadIndex < 0 || engineLoadIndex >= Fields.FUEL_LOAD_COUNT) - throw new IllegalStateException("engineLoadIndex " + engineLoadIndex); - this.afr = afr; - this.rpmIndex = rpmIndex; - this.engineLoadIndex = engineLoadIndex; - } - - public static AfrDataPoint valueOf(double afr, int rpm, double engineLoad) { - int rpmIndex = (int) (rpm / 7000.0 * Fields.FUEL_RPM_COUNT); - if (rpmIndex < 0 || rpmIndex >= Fields.FUEL_RPM_COUNT) - return null; - int engineLoadIndex = (int) (engineLoad / 120.0 * Fields.FUEL_LOAD_COUNT); - return new AfrDataPoint(afr, rpmIndex, engineLoadIndex, rpm, engineLoad); - } - - int getRpmIndex() { - return rpmIndex; - } - - public int getEngineLoadIndex() { - return engineLoadIndex; - } - - public int PRESS_RT_32() { - return getEngineLoadIndex(); - } - - public int RPM_RT_32() { - return getRpmIndex(); - } - - public double getAfr() { - return afr; - } - - public int getRpm() { - return rpm; - } - - public double getEngineLoad() { - return engineLoad; - } - - @Override - public String toString() { - return "AfrDataPoint{" + - "afr=" + afr + - ", rpm=" + rpm + - ", engineLoad=" + engineLoad + - '}'; - } -} diff --git a/java_console/models/src/main/java/com/rusefi/autotune/FuelAutoLogic.java b/java_console/models/src/main/java/com/rusefi/autotune/FuelAutoLogic.java deleted file mode 100644 index ac7698d941..0000000000 --- a/java_console/models/src/main/java/com/rusefi/autotune/FuelAutoLogic.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.rusefi.autotune; - -import java.util.Collection; - -/** - * Andrey Belomutskiy, (c) 2013-2020 - * 2/18/2016. - */ -public interface FuelAutoLogic { - // void MainWindow::calckGBC(double STEP) - Result process(boolean smooth, Collection dataECU, double STEP, double targetAFR, double[][] kgbcINIT); -} diff --git a/java_console/models/src/main/java/com/rusefi/autotune/FuelAutoTune.java b/java_console/models/src/main/java/com/rusefi/autotune/FuelAutoTune.java deleted file mode 100644 index 6e4176a039..0000000000 --- a/java_console/models/src/main/java/com/rusefi/autotune/FuelAutoTune.java +++ /dev/null @@ -1,172 +0,0 @@ -package com.rusefi.autotune; - -import java.util.Collection; - -import static com.rusefi.autotune.MathUtil.square; -import static com.rusefi.config.generated.Fields.FUEL_LOAD_COUNT; -import static com.rusefi.config.generated.Fields.FUEL_RPM_COUNT; - -/** - * 1/5/2016 - * Andrey Belomutskiy, (c) 2013-2020 - */ -public enum FuelAutoTune implements FuelAutoLogic { - INSTANCE; - - // todo: eliminate this - // Fields.FUEL_RPM_COUNT - // Fields.FUEL_LOAD_COUNT - public static final int SIZE = 16; - public static final double _14_7 = 14.7; - - private static boolean isLogEnabled() { - return true; - } - - // void MainWindow::calckGBC(double STEP) - @Override - public Result process(boolean smooth, Collection dataECU, double STEP, double targetAFR, double[][] kgbcINIT) { - double cellDeviation[][] = new double[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; - double totalDeviation = 0; - double minSQtotal = Double.MAX_VALUE; - double kgbcSQsumLastTotal = 1e+16; - double ksq = 1000; //???? ??????????????????? ?????????? - double ke = 100; //???? ?????????? - double kg = 100; //???? ????? - - // let's could how many data points we have for each cell - int bkGBC[][] = new int[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; - for (AfrDataPoint data : dataECU) { - bkGBC[data.PRESS_RT_32()][data.RPM_RT_32()]++; - } - - double result[][] = MathUtil.deepCopy(kgbcINIT); - - double ktgbcRES[][] = new double[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; - double ktgbcINIT[][] = new double[FUEL_LOAD_COUNT][FUEL_RPM_COUNT]; - - MathUtil.setArray2D(ktgbcINIT, 1); - MathUtil.setArray2D(ktgbcRES, 1); - - int COUNT_THRESHOLD = 20; // minimal number of measurements in cell to be considered - - int minK = 0; // todo: what is this? - while (minK <= 4) { - for (int loadIndex = 0; loadIndex < FUEL_LOAD_COUNT; loadIndex++) { - for (int rpmIndex = 0; rpmIndex < FUEL_RPM_COUNT; rpmIndex++) { - if (bkGBC[loadIndex][rpmIndex] < COUNT_THRESHOLD) - continue; - //log("Processing " + r + "/c" + c); - totalDeviation = getTotalDeviationAfterCellOptimization(smooth, dataECU, STEP, targetAFR, kgbcINIT, cellDeviation, ksq, ke, kg, result, loadIndex, rpmIndex); - } - } - - - if (totalDeviation < minSQtotal) - minSQtotal = totalDeviation; - if (Math.abs(minSQtotal - kgbcSQsumLastTotal) < 1e-10) - minK++; - kgbcSQsumLastTotal = totalDeviation; - //ui->statusBar->showMessage(QString::number(gbcSQsum)); - //updateTableGBC(); - - } - - log("return " + minK); - return new Result(result); - } - - /** - * Optimize one table cell - * @return total deviation of the whole map - */ - private static double getTotalDeviationAfterCellOptimization( - boolean smooth, Collection dataECU, double step, - double targetAFR, double[][] kgbcINIT, double[][] cellDeviation, - double ksq, double ke, double kg, double[][] result, int loadIndex, int rpmIndex) { - double totalDeviation = Double.MAX_VALUE; - double minTotalDeviation = Double.MAX_VALUE; - double prevTotalDeviation; - - double currentStep = step; - int goodValueCounter = 0; - while (goodValueCounter <= 4) { - prevTotalDeviation = totalDeviation; - - // todo: since we are only adjusting one cell there is not point to recalculate all deviations - // todo: potential CPU usage optimization here - countDeviation(dataECU, cellDeviation, result, kgbcINIT, targetAFR); - - totalDeviation = MathUtil.sumArray(cellDeviation); - - if (smooth) { - totalDeviation = smooth(totalDeviation, ksq, ke, kg, result); - } - //////////////////////////////////// - if (totalDeviation >= prevTotalDeviation) - currentStep = -currentStep; - //???? ?????? ?? ??????? ????? ???, ?? ? ?? ?????????? ?? - /*if(bkGBC[r][c]) */ - -// log("Adjusting " + currentStep); - result[loadIndex][rpmIndex] += currentStep; - - minTotalDeviation = Math.min(minTotalDeviation, totalDeviation); - - if (Math.abs(minTotalDeviation - prevTotalDeviation) < 1e-10) - goodValueCounter++; - } - return totalDeviation; - } - - /** - * Calculated all per-cell deviations of all data points over whole table - */ - private static void countDeviation(Collection dataECU, double[][] cellDeviation, double[][] result, double[][] kgbcINIT, double targetAFR) { - MathUtil.setArray2D(cellDeviation, 0); - double normalizedTargetAfr = targetAFR / _14_7; - - for (AfrDataPoint dataPoint : dataECU) { - double normalizedAfr = dataPoint.getAfr() / _14_7; - - double tmp = (normalizedAfr - normalizedTargetAfr * - (result[dataPoint.PRESS_RT_32()][dataPoint.RPM_RT_32()]) / - (kgbcINIT[dataPoint.PRESS_RT_32()][dataPoint.RPM_RT_32()])); - -// if (isLogEnabled()) -// log("r=" + r + "/c=" + c + ": tmp=" + tmp); - -// cellDeviation[dataPoint.PRESS_RT_32()][dataPoint.RPM_RT_32()] += tmp * tmp; todo: what is this deviation called? - cellDeviation[dataPoint.PRESS_RT_32()][dataPoint.RPM_RT_32()] += Math.abs(tmp); // todo: what is this deviation called? - } - } - - private static double smooth(double kgbcSQsum, double ksq, double ke, double kg, double[][] kgbcRES) { - double e = 0; - kgbcSQsum = ksq * kgbcSQsum; - - // todo: add a comment while 'SIZE - 1' here? - for (int i = 0; i < SIZE - 1; i++) { - for (int j = 0; j < SIZE; j++) { - e += square(kgbcRES[i][j] - kgbcRES[i + 1][j]); - e += square(kgbcRES[j][i] - kgbcRES[j][i + 1]); - } - } - - double g= 0; - for (int i = 0; i < SIZE - 2; i++) { - for (int j = 0; j < SIZE; j++) { - double tmp1 = square(kgbcRES[i][j] - 2 * kgbcRES[i + 1][j] + kgbcRES[i + 2][j]); - g += tmp1; - g += square(kgbcRES[j][i] - 2 * kgbcRES[j][i + 1] + kgbcRES[j][i + 2]); - } - } - kgbcSQsum += ke * e + kg * g; - return kgbcSQsum; - } - - private static void log(String s) { - System.out.println(s); - } - -} diff --git a/java_console/models/src/main/java/com/rusefi/autotune/FuelAutoTune2.java b/java_console/models/src/main/java/com/rusefi/autotune/FuelAutoTune2.java deleted file mode 100644 index dcc9fa490a..0000000000 --- a/java_console/models/src/main/java/com/rusefi/autotune/FuelAutoTune2.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.rusefi.autotune; - -import java.util.Collection; - -/** - * Andrey Belomutskiy, (c) 2013-2020 - * 2/18/2016. - */ -public enum FuelAutoTune2 implements FuelAutoLogic { - INSTANCE; - - private static final int SIZE = 16; - - - @Override - public Result process(boolean smooth, Collection dataECU, double GRAD, double targetAFR, double[][] VEcur) { - double result[][] = new double[SIZE][SIZE]; - - // proverka na statichnost' rezhimnoy tochki - boolean fl_static = true; - for (AfrDataPoint dataPoint : dataECU) { - // TODO - // proverka idet po trem poslednim dannym v dataECU - // proverka po rpmIndex - - // proverka po engineLoadIndex - - // esli tochka ne statichna to fl_static = false - } - if (!fl_static) - return null; - // end - AfrDataPoint s = dataECU.iterator().next(); - double delta = (s.getAfr() - targetAFR) / targetAFR; // privedennoe otklonenie po toplivu - - - for (int r = 0; r < SIZE; r++) { //rpmIndex - for (int e = 0; e < SIZE; e++) { //engineLoadIndex - result[r][e] = (float) (VEcur[r][e] + VEcur[r][e] * delta * GRAD / Math.min(Math.max(Math.abs(s.getEngineLoadIndex() - e), Math.abs(s.getRpmIndex() - r)), 1)); - } - } - - - return new Result(result); - } -} \ No newline at end of file diff --git a/java_console/models/src/main/java/com/rusefi/autotune/MathUtil.java b/java_console/models/src/main/java/com/rusefi/autotune/MathUtil.java deleted file mode 100644 index 483f03e0b2..0000000000 --- a/java_console/models/src/main/java/com/rusefi/autotune/MathUtil.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.rusefi.autotune; - -import java.util.Arrays; - -/** - * Andrey Belomutskiy, (c) 2013-2020 - * 2/18/2016. - */ -public class MathUtil { - private MathUtil() { - } - - static double[][] deepCopy(double[][] input) { - if (input == null) - return null; - double[][] result = new double[input.length][]; - for (int r = 0; r < input.length; r++) { - result[r] = input[r].clone(); - } - return result; - } - - static double sumArray(double[][] array2D) { - double result = 0; - for (double[] array : array2D) { - for (double element : array) - result += element; - } - return result; - } - - public static void setArray2D(double[][] array, double value) { - for (double[] a : array) - Arrays.setAll(a, i -> value); - } - - static double square(double value) { - return value * value; - } -} diff --git a/java_console/models/src/main/java/com/rusefi/autotune/Result.java b/java_console/models/src/main/java/com/rusefi/autotune/Result.java deleted file mode 100644 index 5fd37e3ea0..0000000000 --- a/java_console/models/src/main/java/com/rusefi/autotune/Result.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.rusefi.autotune; - -/** - * Andrey Belomutskiy, (c) 2013-2020 - * 2/23/2016. - */ -public class Result { - private final double[][] kgbcRES; - - public Result(double[][] kgbcRES) { - this.kgbcRES = kgbcRES; - } - - public double[][] getKgbcRES() { - return kgbcRES; - } -} 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 9b076f587b..ac1c14790f 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 @@ -81,6 +81,10 @@ public class Fields { public static final int bench_mode_e_BENCH_SECOND_IDLE_VALVE = 13; public static final int bench_mode_e_BENCH_STARTER_DISABLE_RELAY = 2; public static final int bench_mode_e_BENCH_STARTER_ENABLE_RELAY = 1; + public static final int bench_mode_e_BENCH_VVT_1_TARGET_BUMP = 17; + public static final int bench_mode_e_BENCH_VVT_2_TARGET_BUMP = 18; + public static final int bench_mode_e_BENCH_VVT_3_TARGET_BUMP = 19; + public static final int bench_mode_e_BENCH_VVT_4_TARGET_BUMP = 20; public static final int blend_table_s_size = 188; public static final int BLOCKING_FACTOR = 750; public static final int BOOST_BLEND_COUNT = 2; @@ -190,13 +194,19 @@ public class Fields { public static final int debug_mode_e_DBG_0 = 0; public static final int debug_mode_e_DBG_10 = 10; public static final int debug_mode_e_DBG_11 = 11; + public static final int debug_mode_e_DBG_12 = 12; + public static final int debug_mode_e_DBG_13 = 13; + public static final int debug_mode_e_DBG_15 = 15; public static final int debug_mode_e_DBG_16 = 16; + public static final int debug_mode_e_DBG_19 = 19; public static final int debug_mode_e_DBG_2 = 2; public static final int debug_mode_e_DBG_20 = 20; + public static final int debug_mode_e_DBG_21 = 21; public static final int debug_mode_e_DBG_24 = 24; public static final int debug_mode_e_DBG_25 = 25; public static final int debug_mode_e_DBG_26 = 26; public static final int debug_mode_e_DBG_29 = 29; + public static final int debug_mode_e_DBG_32 = 32; public static final int debug_mode_e_DBG_34 = 34; public static final int debug_mode_e_DBG_35 = 35; public static final int debug_mode_e_DBG_36 = 36; @@ -204,12 +214,10 @@ public class Fields { public static final int debug_mode_e_DBG_38 = 38; public static final int debug_mode_e_DBG_43 = 43; public static final int debug_mode_e_DBG_46 = 46; + public static final int debug_mode_e_DBG_6 = 6; public static final int debug_mode_e_DBG_7 = 7; public static final int debug_mode_e_DBG_8 = 8; public static final int debug_mode_e_DBG_9 = 9; - public static final int debug_mode_e_DBG_ANALOG_INPUTS = 21; - public static final int debug_mode_e_DBG_ANALOG_INPUTS2 = 32; - public static final int debug_mode_e_DBG_BENCH_TEST = 19; public static final int debug_mode_e_DBG_COMPOSITE_LOG = 40; public static final int debug_mode_e_DBG_DWELL_METRIC = 33; public static final int debug_mode_e_DBG_DYNO_VIEW = 44; @@ -219,20 +227,16 @@ public class Fields { public static final int debug_mode_e_DBG_EXECUTOR = 18; public static final int debug_mode_e_DBG_INSTANT_RPM = 22; public static final int debug_mode_e_DBG_ION = 30; - public static final int debug_mode_e_DBG_KNOCK = 15; public static final int debug_mode_e_DBG_LOGIC_ANALYZER = 45; public static final int debug_mode_e_DBG_LUA = 48; public static final int debug_mode_e_DBG_MAP = 27; public static final int debug_mode_e_DBG_METRICS = 28; - public static final int debug_mode_e_DBG_SD_CARD = 13; - public static final int debug_mode_e_DBG_SOFT_SPARK_CUT = 6; public static final int debug_mode_e_DBG_SR5_PROTOCOL = 14; public static final int debug_mode_e_DBG_STEPPER_IDLE_CONTROL = 3; public static final int debug_mode_e_DBG_TCU = 47; public static final int debug_mode_e_DBG_TLE8888 = 31; public static final int debug_mode_e_DBG_TPS_ACCEL = 1; public static final int debug_mode_e_DBG_TRIGGER_COUNTERS = 5; - public static final int debug_mode_e_DBG_UNUSED12 = 12; public static final int debug_mode_e_DBG_UNUSED41 = 41; public static final int debug_mode_e_DBG_UNUSED_42 = 42; public static final int debug_mode_e_UNUSED23 = 23; @@ -244,7 +248,7 @@ public class Fields { public static final int ego_sensor_e_ES_Innovate_MTX_L = 1; public static final int ego_sensor_e_ES_PLX = 4; public static final int EGT_CHANNEL_COUNT = 8; - public static final int engine_configuration_s_size = 3696; + public static final int engine_configuration_s_size = 3992; public static final int engine_load_mode_e_LM_ALPHA_N = 2; public static final int engine_load_mode_e_LM_LUA = 3; public static final int engine_load_mode_e_LM_MOCK = 100; @@ -273,8 +277,6 @@ public class Fields { public static final int engine_type_e_DODGE_NEON_1995 = 2; public static final int engine_type_e_DODGE_NEON_2003_CRANK = 46; public static final int engine_type_e_DODGE_RAM = 64; - public static final int engine_type_e_ET_UNUSED_11 = 11; - public static final int engine_type_e_ET_UNUSED_12 = 12; public static final int engine_type_e_ET_UNUSED_13 = 13; public static final int engine_type_e_ET_UNUSED_15 = 15; public static final int engine_type_e_ET_UNUSED_17 = 17; @@ -336,6 +338,10 @@ public class Fields { public static final int engine_type_e_MRE_SUBARU_EJ18 = 37; public static final int engine_type_e_MRE_VW_B6 = 62; public static final int engine_type_e_NISSAN_PRIMERA = 5; + public static final int engine_type_e_POLYGONUS_MIATA_MSM = 12; + public static final int engine_type_e_POLYGONUS_MIATA_NA6 = 4; + public static final int engine_type_e_POLYGONUS_MIATA_NB1 = 11; + public static final int engine_type_e_POLYGONUS_MIATA_NB2 = 67; public static final int engine_type_e_PROTEUS_ANALOG_PWM_TEST = 30; public static final int engine_type_e_PROTEUS_BMW_M73 = 63; public static final int engine_type_e_PROTEUS_E65_6H_MAN_IN_THE_MIDDLE = 9; @@ -344,8 +350,6 @@ public class Fields { public static final int engine_type_e_PROTEUS_HONDA_K = 90; public static final int engine_type_e_PROTEUS_HONDA_OBD2A = 91; public static final int engine_type_e_PROTEUS_LUA_DEMO = 25; - public static final int engine_type_e_PROTEUS_MIATA_NA6 = 4; - public static final int engine_type_e_PROTEUS_MIATA_NB2 = 67; public static final int engine_type_e_PROTEUS_QC_TEST_BOARD = 42; public static final int engine_type_e_PROTEUS_VW_B6 = 39; public static final int engine_type_e_SACHS = 29; @@ -370,7 +374,7 @@ public class Fields { public static final int ETB_BIAS_CURVE_LENGTH = 8; public static final int ETB_COUNT = 2; public static final int ETB_HW_MAX_FREQUENCY = 3000; - public static final int FLASH_DATA_VERSION = 20011; + public static final int FLASH_DATA_VERSION = 20013; public static final int FUEL_LEVEL_TABLE_COUNT = 8; public static final int FUEL_LOAD_COUNT = 16; public static final int fuel_pressure_sensor_mode_e_FPM_Absolute = 0; @@ -387,6 +391,8 @@ public class Fields { public static final String GAUGE_NAME_ACCEL_Z = "Acceleration: Z"; public static final String GAUGE_NAME_AFR = "Air/Fuel Ratio"; public static final String GAUGE_NAME_AFR2 = "Air/Fuel Ratio 2"; + public static final String GAUGE_NAME_AFR2_GAS_SCALE = "Air/Fuel Ratio 2 (Gas Scale)"; + public static final String GAUGE_NAME_AFR_GAS_SCALE = "Air/Fuel Ratio (Gas Scale)"; public static final String GAUGE_NAME_AIR_FLOW_ESTIMATE = "Air: Flow estimate"; public static final String GAUGE_NAME_AIR_FLOW_MEASURED = "MAF"; public static final String GAUGE_NAME_AIR_FLOW_MEASURED_2 = "MAF #2"; @@ -867,10 +873,6 @@ public class Fields { public static final int LUA_PWM_COUNT = 8; public static final int LUA_SCRIPT_SIZE = 8000; public static final int MAF_DECODING_COUNT = 256; - public static final int maf_sensor_type_e_Bosch0280218004 = 2; - public static final int maf_sensor_type_e_Bosch0280218037 = 1; - public static final int maf_sensor_type_e_CUSTOM = 0; - public static final int maf_sensor_type_e_DensoTODO = 3; public static final String MAIN_HELP_URL = "https://wiki.fome.tech/"; public static final int MAP_ANGLE_SIZE = 8; public static final int MAP_sensor_config_s_size = 140; @@ -903,18 +905,8 @@ public class Fields { public static final int PACK_MULT_TEMPERATURE = 100; public static final int PACK_MULT_VOLTAGE = 1000; public static final int PEDAL_TO_TPS_SIZE = 8; - public static final int persistent_config_s_size = 22820; + public static final int persistent_config_s_size = 22996; public static final int pid_s_size = 20; - public static final int PidAutoTune_AutoTunerState_AUTOTUNER_OFF = 0; - public static final int PidAutoTune_AutoTunerState_CONVERGED = 16; - public static final int PidAutoTune_AutoTunerState_FAILED = 128; - public static final int PidAutoTune_AutoTunerState_RELAY_STEP_DOWN = 8; - public static final int PidAutoTune_AutoTunerState_RELAY_STEP_UP = 4; - public static final int PidAutoTune_AutoTunerState_STEADY_STATE_AFTER_STEP_UP = 2; - public static final int PidAutoTune_AutoTunerState_STEADY_STATE_AT_BASELINE = 1; - public static final int PidAutoTune_Peak_MAXIMUM = 1; - public static final int PidAutoTune_Peak_MINIMUM = -1; - public static final int PidAutoTune_Peak_NOT_A_PEAK = 0; public static final int pin_input_mode_e_PI_DEFAULT = 0; public static final int pin_input_mode_e_PI_PULLDOWN = 2; public static final int pin_input_mode_e_PI_PULLUP = 1; @@ -939,9 +931,8 @@ public class Fields { public static final String PROTOCOL_MSG = "msg"; public static final String PROTOCOL_OUTPIN = "outpin"; public static final String PROTOCOL_SIGNATURE_PREFIX = "rusEFI "; - public static final String PROTOCOL_TACH_NAME = "tach"; public static final String PROTOCOL_TEST_RESPONSE_TAG = "ts_p_alive"; - public static final String PROTOCOL_VERSION_TAG = "rusEfiVersion"; + public static final String PROTOCOL_VERSION_TAG = "fomeVersion"; public static final String PROTOCOL_VVT1_NAME = "VVT1"; public static final String PROTOCOL_VVT2_NAME = "VVT2"; public static final String PROTOCOL_VVT3_NAME = "VVT3"; @@ -1013,7 +1004,7 @@ public class Fields { public static final int TOOTH_PACKET_SIZE = 2; public static final String TOP_DEAD_CENTER_MESSAGE = "r"; public static final int TORQUE_CURVE_SIZE = 6; - public static final int TOTAL_CONFIG_SIZE = 22820; + public static final int TOTAL_CONFIG_SIZE = 22996; public static final int TPS_2_BYTE_PACKING_MULT = 100; public static final int TPS_TPS_ACCEL_CLT_CORR_TABLE = 4; public static final int TPS_TPS_ACCEL_TABLE = 8; @@ -1101,12 +1092,12 @@ public class Fields { public static final int trigger_type_e_TT_UNUSED = 75; public static final int trigger_type_e_TT_VVT_BARRA_3_PLUS_1 = 56; public static final int trigger_type_e_TT_VVT_BOSCH_QUICK_START = 47; - public static final int trigger_type_e_TT_VVT_JZ = 17; public static final int trigger_type_e_TT_VVT_MAZDA_SKYACTIV = 13; public static final int trigger_type_e_TT_VVT_MIATA_NB = 43; public static final int trigger_type_e_TT_VVT_MITSUBISHI_3A92 = 62; public static final int trigger_type_e_TT_VVT_MITSUBISHI_6G75 = 72; public static final int trigger_type_e_TT_VVT_NISSAN_VQ35 = 59; + public static final int trigger_type_e_TT_VVT_TOYOTA_3_TOOTH = 17; public static final int trigger_type_e_TT_VVT_TOYOTA_4_1 = 73; public static final String TRIGGER_WITH_SYNC = "isSynchronizationNeeded"; public static final String TRIGGERS_FILE_NAME = "triggers.txt"; @@ -1167,6 +1158,9 @@ public class Fields { public static final char TS_PERF_TRACE_BEGIN = '_'; public static final char TS_PERF_TRACE_GET_BUFFER = 'b'; public static final String TS_PROTOCOL = "001"; + public static final char TS_QUERY_BOOTLOADER = 'L'; + public static final int TS_QUERY_BOOTLOADER_NONE = 0; + public static final int TS_QUERY_BOOTLOADER_OPENBLT = 1; public static final char TS_QUERY_COMMAND = 'Q'; public static final char TS_READ_COMMAND = 'R'; public static final int TS_RESPONSE_BURN_OK = 4; @@ -1178,7 +1172,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 (FOME) master.2023.08.28.f407-discovery.2787437970"; + public static final String TS_SIGNATURE = "rusEFI (FOME) master.2023.11.04.f407-discovery.4291159966"; 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 = 1380; @@ -1215,7 +1209,6 @@ public class Fields { public static final int VIN_NUMBER_SIZE = 17; public static final int VR_THRESHOLD_COUNT = 2; public static final int vr_threshold_s_size = 16; - public static final int vvt_mode_e_VVT_2JZ = 2; public static final int vvt_mode_e_VVT_BARRA_3_PLUS_1 = 8; public static final int vvt_mode_e_VVT_BOSCH_QUICK_START = 5; public static final int vvt_mode_e_VVT_FORD_ST170 = 7; @@ -1232,6 +1225,7 @@ public class Fields { public static final int vvt_mode_e_VVT_NISSAN_MR = 11; public static final int vvt_mode_e_VVT_NISSAN_VQ = 9; public static final int vvt_mode_e_VVT_SINGLE_TOOTH = 1; + public static final int vvt_mode_e_VVT_TOYOTA_3_TOOTH = 2; public static final int vvt_mode_e_VVT_TOYOTA_4_1 = 6; public static final int WWAE_TABLE_SIZE = 8; public static final Field ENGINETYPE = Field.create("ENGINETYPE", 0, FieldType.INT).setScale(1.0).setBaseOffset(0); @@ -1262,7 +1256,6 @@ public class Fields { public static final Field ENABLETRAILINGSPARKS = Field.create("ENABLETRAILINGSPARKS", 88, FieldType.BIT, 8).setBaseOffset(0); public static final Field ETB_USE_TWO_WIRES = Field.create("ETB_USE_TWO_WIRES", 88, FieldType.BIT, 9).setBaseOffset(0); public static final Field ISDOUBLESOLENOIDIDLE = Field.create("ISDOUBLESOLENOIDIDLE", 88, FieldType.BIT, 10).setBaseOffset(0); - public static final Field USEEEPROM = Field.create("USEEEPROM", 88, FieldType.BIT, 11).setBaseOffset(0); public static final Field USETLE8888_CRANKING_HACK = Field.create("USETLE8888_CRANKING_HACK", 88, FieldType.BIT, 12).setBaseOffset(0); public static final Field KICKSTARTCRANKING = Field.create("KICKSTARTCRANKING", 88, FieldType.BIT, 13).setBaseOffset(0); public static final Field USESEPARATEIDLETABLESFORCRANKINGTAPER = Field.create("USESEPARATEIDLETABLESFORCRANKINGTAPER", 88, FieldType.BIT, 14).setBaseOffset(0); @@ -1322,7 +1315,7 @@ public class Fields { public static final Field TRIGGERSIMULATORRPM = Field.create("TRIGGERSIMULATORRPM", 330, FieldType.INT16).setScale(1.0).setBaseOffset(0); public static final Field CYLINDERSCOUNT = Field.create("CYLINDERSCOUNT", 332, FieldType.INT).setScale(1.0).setBaseOffset(0); public static final Field FIRINGORDER = Field.create("FIRINGORDER", 336, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDOLDBENCHTEST = Field.create("UNUSEDOLDBENCHTEST", 337, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VVTBUMPAMOUNT = Field.create("VVTBUMPAMOUNT", 337, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final Field BENCHTESTONTIME = Field.create("BENCHTESTONTIME", 338, FieldType.INT16).setScale(0.01).setBaseOffset(0); public static final Field CYLINDERBORE = Field.create("CYLINDERBORE", 340, FieldType.FLOAT).setBaseOffset(0); public static final String[] engine_load_mode_e = {"Speed Density", "MAF Air Charge", "Alpha-N", "Lua"}; @@ -1560,8 +1553,7 @@ public class Fields { public static final Field LAMBDAPROTECTIONRESTORERPM = Field.create("LAMBDAPROTECTIONRESTORERPM", 750, FieldType.INT8).setScale(100.0).setBaseOffset(0); public static final Field ACRELAYPINMODE = Field.create("ACRELAYPINMODE", 751, FieldType.INT8, pin_output_mode_e).setScale(1.0).setBaseOffset(0); public static final Field ACRELAYPIN = Field.create("ACRELAYPIN", 752, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); - public static final String[] maf_sensor_type_e = {"v0", "v1", "v2", "v3"}; - public static final Field MAFSENSORTYPE = Field.create("MAFSENSORTYPE", 754, FieldType.INT8, maf_sensor_type_e).setScale(1.0).setBaseOffset(0); + public static final Field UNUSED754 = Field.create("UNUSED754", 754, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final Field DRV8860SPIDEVICE = Field.create("DRV8860SPIDEVICE", 755, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final Field SCRIPTSETTING1 = Field.create("SCRIPTSETTING1", 756, FieldType.INT).setScale(1.0).setBaseOffset(0); public static final Field SCRIPTSETTING2 = Field.create("SCRIPTSETTING2", 760, FieldType.INT).setScale(1.0).setBaseOffset(0); @@ -1590,11 +1582,11 @@ public class Fields { public static final Field ENABLELAUNCHRETARD = Field.create("ENABLELAUNCHRETARD", 808, FieldType.BIT, 4).setBaseOffset(0); public static final Field ENABLECANVSS = Field.create("ENABLECANVSS", 808, FieldType.BIT, 5).setBaseOffset(0); public static final Field ENABLEINNOVATELC2 = Field.create("ENABLEINNOVATELC2", 808, FieldType.BIT, 6).setBaseOffset(0); - public static final Field SHOWHUMANREADABLEWARNING = Field.create("SHOWHUMANREADABLEWARNING", 808, FieldType.BIT, 7).setBaseOffset(0); public static final Field STFTIGNOREERRORMAGNITUDE = Field.create("STFTIGNOREERRORMAGNITUDE", 808, FieldType.BIT, 8).setBaseOffset(0); public static final Field ENABLESOFTWAREKNOCK = Field.create("ENABLESOFTWAREKNOCK", 808, FieldType.BIT, 9).setBaseOffset(0); public static final Field VERBOSEVVTDECODING = Field.create("VERBOSEVVTDECODING", 808, FieldType.BIT, 10).setBaseOffset(0); public static final Field INVERTCAMVVTSIGNAL = Field.create("INVERTCAMVVTSIGNAL", 808, FieldType.BIT, 11).setBaseOffset(0); + public static final Field ALPHANUSEIAT = Field.create("ALPHANUSEIAT", 808, FieldType.BIT, 12).setBaseOffset(0); public static final Field KNOCKBANKCYL1 = Field.create("KNOCKBANKCYL1", 808, FieldType.BIT, 13).setBaseOffset(0); public static final Field KNOCKBANKCYL2 = Field.create("KNOCKBANKCYL2", 808, FieldType.BIT, 14).setBaseOffset(0); public static final Field KNOCKBANKCYL3 = Field.create("KNOCKBANKCYL3", 808, FieldType.BIT, 15).setBaseOffset(0); @@ -1717,7 +1709,6 @@ public class Fields { public static final Field TPS2SECONDARYMAX = Field.create("TPS2SECONDARYMAX", 1190, FieldType.INT16).setScale(1.0).setBaseOffset(0); public static final Field WIDEBANDONSECONDBUS = Field.create("WIDEBANDONSECONDBUS", 1192, FieldType.BIT, 0).setBaseOffset(0); public static final Field FUELCLOSEDLOOPCORRECTIONENABLED = Field.create("FUELCLOSEDLOOPCORRECTIONENABLED", 1192, FieldType.BIT, 1).setBaseOffset(0); - public static final Field ISVERBOSEIAC = Field.create("ISVERBOSEIAC", 1192, FieldType.BIT, 2).setBaseOffset(0); public static final Field BOARDUSETACHPULLUP = Field.create("BOARDUSETACHPULLUP", 1192, FieldType.BIT, 3).setBaseOffset(0); public static final Field BOARDUSETEMPPULLUP = Field.create("BOARDUSETEMPPULLUP", 1192, FieldType.BIT, 4).setBaseOffset(0); public static final Field YESUNDERSTANDLOCKING = Field.create("YESUNDERSTANDLOCKING", 1192, FieldType.BIT, 5).setBaseOffset(0); @@ -1911,7 +1902,7 @@ public class Fields { public static final Field MINIMUMIGNITIONTIMING = Field.create("MINIMUMIGNITIONTIMING", 1538, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final Field MAXIMUMIGNITIONTIMING = Field.create("MAXIMUMIGNITIONTIMING", 1539, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final Field ALTERNATORPWMFREQUENCY = Field.create("ALTERNATORPWMFREQUENCY", 1540, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final String[] vvt_mode_e = {"Inactive", "Single Tooth", "2JZ", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63"}; + public static final String[] vvt_mode_e = {"Inactive", "Single Tooth", "Toyota 3 Tooth", "Miata NB2", "INVALID", "Bosch Quick Start", "4/1", "ST 170", "Ford Barra 3+1", "Nissan VQ", "Honda K Intake", "Nissan MR18", "Mitsu 3A92", "VTwin by MAP", "Mitsu 6G75", "Mazda Skyactiv", "Honda K Exhaust", "Mitsubishi 4G92/93/94", "Mitsubishi 4G63"}; public static final Field VVTMODE1 = Field.create("VVTMODE1", 1544, FieldType.INT8, vvt_mode_e).setScale(1.0).setBaseOffset(0); public static final Field VVTMODE2 = Field.create("VVTMODE2", 1545, FieldType.INT8, vvt_mode_e).setScale(1.0).setBaseOffset(0); public static final Field FAN2EXTRAIDLE = Field.create("FAN2EXTRAIDLE", 1546, FieldType.INT8).setScale(1.0).setBaseOffset(0); @@ -2347,271 +2338,317 @@ public class Fields { public static final Field RPMHARDLIMITHYST = Field.create("RPMHARDLIMITHYST", 3600, FieldType.INT8).setScale(10.0).setBaseOffset(0); public static final Field IGNTESTCOUNT = Field.create("IGNTESTCOUNT", 3601, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final Field IGNTESTOFFTIME = Field.create("IGNTESTOFFTIME", 3602, FieldType.INT8).setScale(5.0).setBaseOffset(0); - public static final Field MAINUNUSEDEND = Field.create("MAINUNUSEDEND", 3603, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ETBBIASBINS = Field.create("ETBBIASBINS", 3696, FieldType.FLOAT).setBaseOffset(0); - public static final Field ETBBIASVALUES = Field.create("ETBBIASVALUES", 3728, FieldType.FLOAT).setBaseOffset(0); - public static final Field IACPIDMULTTABLE = Field.create("IACPIDMULTTABLE", 3760, FieldType.INT8).setScale(0.05).setBaseOffset(0); - public static final Field IACPIDMULTLOADBINS = Field.create("IACPIDMULTLOADBINS", 3824, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IACPIDMULTRPMBINS = Field.create("IACPIDMULTRPMBINS", 3832, FieldType.INT8).setScale(10.0).setBaseOffset(0); - public static final Field SPARKDWELLRPMBINS = Field.create("SPARKDWELLRPMBINS", 3840, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SPARKDWELLVALUES = Field.create("SPARKDWELLVALUES", 3856, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field CLTIDLERPMBINS = Field.create("CLTIDLERPMBINS", 3872, FieldType.INT8).setScale(2.0).setBaseOffset(0); - public static final Field CLTIDLERPM = Field.create("CLTIDLERPM", 3888, FieldType.INT8).setScale(20.0).setBaseOffset(0); - public static final Field CLTTIMINGBINS = Field.create("CLTTIMINGBINS", 3904, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLTTIMINGEXTRA = Field.create("CLTTIMINGEXTRA", 3936, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE1BINS = Field.create("SCRIPTCURVE1BINS", 3968, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE1 = Field.create("SCRIPTCURVE1", 4032, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE2BINS = Field.create("SCRIPTCURVE2BINS", 4096, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE2 = Field.create("SCRIPTCURVE2", 4160, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE3BINS = Field.create("SCRIPTCURVE3BINS", 4224, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE3 = Field.create("SCRIPTCURVE3", 4256, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE4BINS = Field.create("SCRIPTCURVE4BINS", 4288, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE4 = Field.create("SCRIPTCURVE4", 4320, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE5BINS = Field.create("SCRIPTCURVE5BINS", 4352, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE5 = Field.create("SCRIPTCURVE5", 4384, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE6BINS = Field.create("SCRIPTCURVE6BINS", 4416, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTCURVE6 = Field.create("SCRIPTCURVE6", 4448, FieldType.FLOAT).setBaseOffset(0); - public static final Field BAROCORRPRESSUREBINS = Field.create("BAROCORRPRESSUREBINS", 4480, FieldType.FLOAT).setBaseOffset(0); - public static final Field BAROCORRRPMBINS = Field.create("BAROCORRRPMBINS", 4496, FieldType.FLOAT).setBaseOffset(0); - public static final Field BAROCORRTABLE = Field.create("BAROCORRTABLE", 4512, FieldType.FLOAT).setBaseOffset(0); - public static final Field CRANKINGTPSCOEF = Field.create("CRANKINGTPSCOEF", 4576, FieldType.FLOAT).setBaseOffset(0); - public static final Field CRANKINGTPSBINS = Field.create("CRANKINGTPSBINS", 4608, FieldType.FLOAT).setBaseOffset(0); - public static final Field CRANKINGADVANCEBINS = Field.create("CRANKINGADVANCEBINS", 4640, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field CRANKINGADVANCE = Field.create("CRANKINGADVANCE", 4648, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field IACCOASTINGRPMBINS = Field.create("IACCOASTINGRPMBINS", 4656, FieldType.INT8).setScale(100.0).setBaseOffset(0); - public static final Field IACCOASTING = Field.create("IACCOASTING", 4672, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field WARNING_MESSAGE = Field.create("WARNING_MESSAGE", 4688, 120, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field AFTERSTARTCOOLANTBINS = Field.create("AFTERSTARTCOOLANTBINS", 4808, FieldType.FLOAT).setBaseOffset(0); - public static final Field AFTERSTARTHOLDTIME = Field.create("AFTERSTARTHOLDTIME", 4840, FieldType.FLOAT).setBaseOffset(0); - public static final Field AFTERSTARTENRICH = Field.create("AFTERSTARTENRICH", 4872, FieldType.FLOAT).setBaseOffset(0); - public static final Field AFTERSTARTDECAYTIME = Field.create("AFTERSTARTDECAYTIME", 4904, FieldType.FLOAT).setBaseOffset(0); - public static final Field BOOSTTABLEOPENLOOP = Field.create("BOOSTTABLEOPENLOOP", 4936, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field BOOSTRPMBINS = Field.create("BOOSTRPMBINS", 5000, FieldType.INT8).setScale(100.0).setBaseOffset(0); - public static final Field BOOSTTABLECLOSEDLOOP = Field.create("BOOSTTABLECLOSEDLOOP", 5008, FieldType.INT8).setScale(2.0).setBaseOffset(0); - public static final Field BOOSTTPSBINS = Field.create("BOOSTTPSBINS", 5072, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field PEDALTOTPSTABLE = Field.create("PEDALTOTPSTABLE", 5080, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field PEDALTOTPSPEDALBINS = Field.create("PEDALTOTPSPEDALBINS", 5144, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field PEDALTOTPSRPMBINS = Field.create("PEDALTOTPSRPMBINS", 5152, FieldType.INT8).setScale(100.0).setBaseOffset(0); - public static final Field CLTCRANKINGCORRBINS = Field.create("CLTCRANKINGCORRBINS", 5160, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLTCRANKINGCORR = Field.create("CLTCRANKINGCORR", 5192, FieldType.FLOAT).setBaseOffset(0); - public static final Field IDLEADVANCEBINS = Field.create("IDLEADVANCEBINS", 5224, FieldType.INT8).setScale(50.0).setBaseOffset(0); - public static final Field IDLEADVANCE = Field.create("IDLEADVANCE", 5232, FieldType.FLOAT).setBaseOffset(0); - public static final Field IDLEVERPMBINS = Field.create("IDLEVERPMBINS", 5264, FieldType.INT8).setScale(10.0).setBaseOffset(0); - public static final Field IDLEVELOADBINS = Field.create("IDLEVELOADBINS", 5268, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IDLEVETABLE = Field.create("IDLEVETABLE", 5272, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field LUASCRIPT = Field.create("LUASCRIPT", 5304, 8000, FieldType.STRING).setScale(1.0).setBaseOffset(0); - public static final Field CLTFUELCORRBINS = Field.create("CLTFUELCORRBINS", 13304, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLTFUELCORR = Field.create("CLTFUELCORR", 13368, FieldType.FLOAT).setBaseOffset(0); - public static final Field IATFUELCORRBINS = Field.create("IATFUELCORRBINS", 13432, FieldType.FLOAT).setBaseOffset(0); - public static final Field IATFUELCORR = Field.create("IATFUELCORR", 13496, FieldType.FLOAT).setBaseOffset(0); - public static final Field CRANKINGFUELCOEF = Field.create("CRANKINGFUELCOEF", 13560, FieldType.FLOAT).setBaseOffset(0); - public static final Field CRANKINGFUELBINS = Field.create("CRANKINGFUELBINS", 13592, FieldType.FLOAT).setBaseOffset(0); - public static final Field CRANKINGCYCLECOEF = Field.create("CRANKINGCYCLECOEF", 13624, FieldType.FLOAT).setBaseOffset(0); - public static final Field CRANKINGCYCLEBINS = Field.create("CRANKINGCYCLEBINS", 13656, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLTIDLECORRBINS = Field.create("CLTIDLECORRBINS", 13688, FieldType.FLOAT).setBaseOffset(0); - public static final Field CLTIDLECORR = Field.create("CLTIDLECORR", 13752, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAFDECODING = Field.create("MAFDECODING", 13816, FieldType.FLOAT).setBaseOffset(0); - public static final Field MAFDECODINGBINS = Field.create("MAFDECODINGBINS", 14840, FieldType.FLOAT).setBaseOffset(0); - public static final Field IGNITIONIATCORRTABLE = Field.create("IGNITIONIATCORRTABLE", 15864, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field IGNITIONIATCORRTEMPBINS = Field.create("IGNITIONIATCORRTEMPBINS", 15928, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONIATCORRLOADBINS = Field.create("IGNITIONIATCORRLOADBINS", 15936, FieldType.INT8).setScale(5.0).setBaseOffset(0); - public static final Field INJECTIONPHASE = Field.create("INJECTIONPHASE", 15944, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field INJPHASELOADBINS = Field.create("INJPHASELOADBINS", 16456, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field INJPHASERPMBINS = Field.create("INJPHASERPMBINS", 16488, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TCUSOLENOIDTABLE = Field.create("TCUSOLENOIDTABLE", 16520, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MAPESTIMATETABLE = Field.create("MAPESTIMATETABLE", 16580, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field MAPESTIMATETPSBINS = Field.create("MAPESTIMATETPSBINS", 17092, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field MAPESTIMATERPMBINS = Field.create("MAPESTIMATERPMBINS", 17124, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VVTTABLE1 = Field.create("VVTTABLE1", 17156, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VVTTABLE1LOADBINS = Field.create("VVTTABLE1LOADBINS", 17220, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VVTTABLE1RPMBINS = Field.create("VVTTABLE1RPMBINS", 17236, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VVTTABLE2 = Field.create("VVTTABLE2", 17252, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VVTTABLE2LOADBINS = Field.create("VVTTABLE2LOADBINS", 17316, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VVTTABLE2RPMBINS = Field.create("VVTTABLE2RPMBINS", 17332, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONTABLE = Field.create("IGNITIONTABLE", 17348, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNITIONLOADBINS = Field.create("IGNITIONLOADBINS", 17860, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONRPMBINS = Field.create("IGNITIONRPMBINS", 17892, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VETABLE = Field.create("VETABLE", 17924, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VELOADBINS = Field.create("VELOADBINS", 18436, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VERPMBINS = Field.create("VERPMBINS", 18468, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field LAMBDATABLE = Field.create("LAMBDATABLE", 18500, FieldType.INT8).setScale(0.006802721088435374).setBaseOffset(0); - public static final Field LAMBDALOADBINS = Field.create("LAMBDALOADBINS", 18756, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field LAMBDARPMBINS = Field.create("LAMBDARPMBINS", 18788, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TPSTPSACCELTABLE = Field.create("TPSTPSACCELTABLE", 18820, FieldType.FLOAT).setBaseOffset(0); - public static final Field TPSTPSACCELFROMRPMBINS = Field.create("TPSTPSACCELFROMRPMBINS", 19076, FieldType.FLOAT).setBaseOffset(0); - public static final Field TPSTPSACCELTORPMBINS = Field.create("TPSTPSACCELTORPMBINS", 19108, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTTABLE1 = Field.create("SCRIPTTABLE1", 19140, FieldType.FLOAT).setBaseOffset(0); - public static final Field SCRIPTTABLE1LOADBINS = Field.create("SCRIPTTABLE1LOADBINS", 19396, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE1RPMBINS = Field.create("SCRIPTTABLE1RPMBINS", 19412, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE2 = Field.create("SCRIPTTABLE2", 19428, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE2LOADBINS = Field.create("SCRIPTTABLE2LOADBINS", 19492, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE2RPMBINS = Field.create("SCRIPTTABLE2RPMBINS", 19508, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE3 = Field.create("SCRIPTTABLE3", 19524, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE3LOADBINS = Field.create("SCRIPTTABLE3LOADBINS", 19588, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE3RPMBINS = Field.create("SCRIPTTABLE3RPMBINS", 19604, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE4 = Field.create("SCRIPTTABLE4", 19620, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE4LOADBINS = Field.create("SCRIPTTABLE4LOADBINS", 19684, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field SCRIPTTABLE4RPMBINS = Field.create("SCRIPTTABLE4RPMBINS", 19700, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNTRIMLOADBINS = Field.create("IGNTRIMLOADBINS", 19716, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNTRIMRPMBINS = Field.create("IGNTRIMRPMBINS", 19724, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNTRIMS1_TABLE = Field.create("IGNTRIMS1_TABLE", 19732, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS2_TABLE = Field.create("IGNTRIMS2_TABLE", 19748, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS3_TABLE = Field.create("IGNTRIMS3_TABLE", 19764, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS4_TABLE = Field.create("IGNTRIMS4_TABLE", 19780, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS5_TABLE = Field.create("IGNTRIMS5_TABLE", 19796, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS6_TABLE = Field.create("IGNTRIMS6_TABLE", 19812, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS7_TABLE = Field.create("IGNTRIMS7_TABLE", 19828, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS8_TABLE = Field.create("IGNTRIMS8_TABLE", 19844, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS9_TABLE = Field.create("IGNTRIMS9_TABLE", 19860, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS10_TABLE = Field.create("IGNTRIMS10_TABLE", 19876, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS11_TABLE = Field.create("IGNTRIMS11_TABLE", 19892, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field IGNTRIMS12_TABLE = Field.create("IGNTRIMS12_TABLE", 19908, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMLOADBINS = Field.create("FUELTRIMLOADBINS", 19924, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field FUELTRIMRPMBINS = Field.create("FUELTRIMRPMBINS", 19932, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field FUELTRIMS1_TABLE = Field.create("FUELTRIMS1_TABLE", 19940, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS2_TABLE = Field.create("FUELTRIMS2_TABLE", 19956, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS3_TABLE = Field.create("FUELTRIMS3_TABLE", 19972, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS4_TABLE = Field.create("FUELTRIMS4_TABLE", 19988, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS5_TABLE = Field.create("FUELTRIMS5_TABLE", 20004, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS6_TABLE = Field.create("FUELTRIMS6_TABLE", 20020, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS7_TABLE = Field.create("FUELTRIMS7_TABLE", 20036, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS8_TABLE = Field.create("FUELTRIMS8_TABLE", 20052, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS9_TABLE = Field.create("FUELTRIMS9_TABLE", 20068, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS10_TABLE = Field.create("FUELTRIMS10_TABLE", 20084, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS11_TABLE = Field.create("FUELTRIMS11_TABLE", 20100, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field FUELTRIMS12_TABLE = Field.create("FUELTRIMS12_TABLE", 20116, FieldType.INT8).setScale(0.2).setBaseOffset(0); - public static final Field CRANKINGFUELCOEFE100 = Field.create("CRANKINGFUELCOEFE100", 20132, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field TCU_PCAIRMASSBINS = Field.create("TCU_PCAIRMASSBINS", 20148, FieldType.INT8).setScale(0.02).setBaseOffset(0); - public static final Field TCU_PCVALSR = Field.create("TCU_PCVALSR", 20156, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALSN = Field.create("TCU_PCVALSN", 20164, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS1 = Field.create("TCU_PCVALS1", 20172, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS2 = Field.create("TCU_PCVALS2", 20180, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS3 = Field.create("TCU_PCVALS3", 20188, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS4 = Field.create("TCU_PCVALS4", 20196, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS12 = Field.create("TCU_PCVALS12", 20204, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS23 = Field.create("TCU_PCVALS23", 20212, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS34 = Field.create("TCU_PCVALS34", 20220, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS21 = Field.create("TCU_PCVALS21", 20228, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS32 = Field.create("TCU_PCVALS32", 20236, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_PCVALS43 = Field.create("TCU_PCVALS43", 20244, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_TCCTPSBINS = Field.create("TCU_TCCTPSBINS", 20252, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_TCCLOCKSPEED = Field.create("TCU_TCCLOCKSPEED", 20260, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_TCCUNLOCKSPEED = Field.create("TCU_TCCUNLOCKSPEED", 20268, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_32SPEEDBINS = Field.create("TCU_32SPEEDBINS", 20276, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCU_32VALS = Field.create("TCU_32VALS", 20284, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field THROTTLE2TRIMTABLE = Field.create("THROTTLE2TRIMTABLE", 20292, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field THROTTLE2TRIMTPSBINS = Field.create("THROTTLE2TRIMTPSBINS", 20328, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field THROTTLE2TRIMRPMBINS = Field.create("THROTTLE2TRIMRPMBINS", 20334, FieldType.INT8).setScale(100.0).setBaseOffset(0); - public static final Field MAXKNOCKRETARDTABLE = Field.create("MAXKNOCKRETARDTABLE", 20340, FieldType.INT8).setScale(0.25).setBaseOffset(0); - public static final Field MAXKNOCKRETARDLOADBINS = Field.create("MAXKNOCKRETARDLOADBINS", 20376, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MAXKNOCKRETARDRPMBINS = Field.create("MAXKNOCKRETARDRPMBINS", 20382, FieldType.INT8).setScale(100.0).setBaseOffset(0); - public static final Field ALSTIMINGRETARDTABLE = Field.create("ALSTIMINGRETARDTABLE", 20388, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field ALSIGNRETARDLOADBINS = Field.create("ALSIGNRETARDLOADBINS", 20420, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALSIGNRETARDRPMBINS = Field.create("ALSIGNRETARDRPMBINS", 20428, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALSFUELADJUSTMENT = Field.create("ALSFUELADJUSTMENT", 20436, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field ALSFUELADJUSTMENTLOADBINS = Field.create("ALSFUELADJUSTMENTLOADBINS", 20468, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALSFUELADJUSTMENTRPMBINS = Field.create("ALSFUELADJUSTMENTRPMBINS", 20476, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS1_TABLE = Field.create("IGNBLENDS1_TABLE", 20484, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS1_LOADBINS = Field.create("IGNBLENDS1_LOADBINS", 20612, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS1_RPMBINS = Field.create("IGNBLENDS1_RPMBINS", 20628, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS1_BLENDPARAMETER = Field.create("IGNBLENDS1_BLENDPARAMETER", 20644, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS1_ALIGNMENTFILL_AT_161", 20645, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS1_BLENDBINS = Field.create("IGNBLENDS1_BLENDBINS", 20646, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS1_BLENDVALUES = Field.create("IGNBLENDS1_BLENDVALUES", 20662, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field IGNBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS1_ALIGNMENTFILL_AT_186", 20670, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS2_TABLE = Field.create("IGNBLENDS2_TABLE", 20672, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS2_LOADBINS = Field.create("IGNBLENDS2_LOADBINS", 20800, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS2_RPMBINS = Field.create("IGNBLENDS2_RPMBINS", 20816, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS2_BLENDPARAMETER = Field.create("IGNBLENDS2_BLENDPARAMETER", 20832, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS2_ALIGNMENTFILL_AT_161", 20833, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS2_BLENDBINS = Field.create("IGNBLENDS2_BLENDBINS", 20834, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS2_BLENDVALUES = Field.create("IGNBLENDS2_BLENDVALUES", 20850, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field IGNBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS2_ALIGNMENTFILL_AT_186", 20858, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS3_TABLE = Field.create("IGNBLENDS3_TABLE", 20860, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS3_LOADBINS = Field.create("IGNBLENDS3_LOADBINS", 20988, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS3_RPMBINS = Field.create("IGNBLENDS3_RPMBINS", 21004, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS3_BLENDPARAMETER = Field.create("IGNBLENDS3_BLENDPARAMETER", 21020, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS3_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS3_ALIGNMENTFILL_AT_161", 21021, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS3_BLENDBINS = Field.create("IGNBLENDS3_BLENDBINS", 21022, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS3_BLENDVALUES = Field.create("IGNBLENDS3_BLENDVALUES", 21038, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field IGNBLENDS3_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS3_ALIGNMENTFILL_AT_186", 21046, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS4_TABLE = Field.create("IGNBLENDS4_TABLE", 21048, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS4_LOADBINS = Field.create("IGNBLENDS4_LOADBINS", 21176, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS4_RPMBINS = Field.create("IGNBLENDS4_RPMBINS", 21192, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS4_BLENDPARAMETER = Field.create("IGNBLENDS4_BLENDPARAMETER", 21208, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS4_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS4_ALIGNMENTFILL_AT_161", 21209, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IGNBLENDS4_BLENDBINS = Field.create("IGNBLENDS4_BLENDBINS", 21210, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDS4_BLENDVALUES = Field.create("IGNBLENDS4_BLENDVALUES", 21226, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field IGNBLENDS4_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS4_ALIGNMENTFILL_AT_186", 21234, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS1_TABLE = Field.create("VEBLENDS1_TABLE", 21236, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS1_LOADBINS = Field.create("VEBLENDS1_LOADBINS", 21364, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS1_RPMBINS = Field.create("VEBLENDS1_RPMBINS", 21380, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS1_BLENDPARAMETER = Field.create("VEBLENDS1_BLENDPARAMETER", 21396, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS1_ALIGNMENTFILL_AT_161", 21397, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS1_BLENDBINS = Field.create("VEBLENDS1_BLENDBINS", 21398, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS1_BLENDVALUES = Field.create("VEBLENDS1_BLENDVALUES", 21414, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field VEBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS1_ALIGNMENTFILL_AT_186", 21422, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS2_TABLE = Field.create("VEBLENDS2_TABLE", 21424, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS2_LOADBINS = Field.create("VEBLENDS2_LOADBINS", 21552, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS2_RPMBINS = Field.create("VEBLENDS2_RPMBINS", 21568, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS2_BLENDPARAMETER = Field.create("VEBLENDS2_BLENDPARAMETER", 21584, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS2_ALIGNMENTFILL_AT_161", 21585, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS2_BLENDBINS = Field.create("VEBLENDS2_BLENDBINS", 21586, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS2_BLENDVALUES = Field.create("VEBLENDS2_BLENDVALUES", 21602, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field VEBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS2_ALIGNMENTFILL_AT_186", 21610, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS3_TABLE = Field.create("VEBLENDS3_TABLE", 21612, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS3_LOADBINS = Field.create("VEBLENDS3_LOADBINS", 21740, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS3_RPMBINS = Field.create("VEBLENDS3_RPMBINS", 21756, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS3_BLENDPARAMETER = Field.create("VEBLENDS3_BLENDPARAMETER", 21772, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS3_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS3_ALIGNMENTFILL_AT_161", 21773, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS3_BLENDBINS = Field.create("VEBLENDS3_BLENDBINS", 21774, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS3_BLENDVALUES = Field.create("VEBLENDS3_BLENDVALUES", 21790, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field VEBLENDS3_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS3_ALIGNMENTFILL_AT_186", 21798, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS4_TABLE = Field.create("VEBLENDS4_TABLE", 21800, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS4_LOADBINS = Field.create("VEBLENDS4_LOADBINS", 21928, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS4_RPMBINS = Field.create("VEBLENDS4_RPMBINS", 21944, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS4_BLENDPARAMETER = Field.create("VEBLENDS4_BLENDPARAMETER", 21960, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS4_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS4_ALIGNMENTFILL_AT_161", 21961, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VEBLENDS4_BLENDBINS = Field.create("VEBLENDS4_BLENDBINS", 21962, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDS4_BLENDVALUES = Field.create("VEBLENDS4_BLENDVALUES", 21978, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field VEBLENDS4_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS4_ALIGNMENTFILL_AT_186", 21986, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field THROTTLEESTIMATEEFFECTIVEAREABINS = Field.create("THROTTLEESTIMATEEFFECTIVEAREABINS", 21988, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field THROTTLEESTIMATEEFFECTIVEAREAVALUES = Field.create("THROTTLEESTIMATEEFFECTIVEAREAVALUES", 22012, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_TABLE = Field.create("BOOSTOPENLOOPBLENDS1_TABLE", 22036, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_LOADBINS = Field.create("BOOSTOPENLOOPBLENDS1_LOADBINS", 22164, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_RPMBINS = Field.create("BOOSTOPENLOOPBLENDS1_RPMBINS", 22180, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_BLENDPARAMETER = Field.create("BOOSTOPENLOOPBLENDS1_BLENDPARAMETER", 22196, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_161", 22197, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_BLENDBINS = Field.create("BOOSTOPENLOOPBLENDS1_BLENDBINS", 22198, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_BLENDVALUES = Field.create("BOOSTOPENLOOPBLENDS1_BLENDVALUES", 22214, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_186", 22222, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_TABLE = Field.create("BOOSTOPENLOOPBLENDS2_TABLE", 22224, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_LOADBINS = Field.create("BOOSTOPENLOOPBLENDS2_LOADBINS", 22352, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_RPMBINS = Field.create("BOOSTOPENLOOPBLENDS2_RPMBINS", 22368, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_BLENDPARAMETER = Field.create("BOOSTOPENLOOPBLENDS2_BLENDPARAMETER", 22384, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_161", 22385, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_BLENDBINS = Field.create("BOOSTOPENLOOPBLENDS2_BLENDBINS", 22386, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_BLENDVALUES = Field.create("BOOSTOPENLOOPBLENDS2_BLENDVALUES", 22402, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_186", 22410, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_TABLE = Field.create("BOOSTCLOSEDLOOPBLENDS1_TABLE", 22412, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_LOADBINS = Field.create("BOOSTCLOSEDLOOPBLENDS1_LOADBINS", 22540, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_RPMBINS = Field.create("BOOSTCLOSEDLOOPBLENDS1_RPMBINS", 22556, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_BLENDPARAMETER = Field.create("BOOSTCLOSEDLOOPBLENDS1_BLENDPARAMETER", 22572, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_161", 22573, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_BLENDBINS = Field.create("BOOSTCLOSEDLOOPBLENDS1_BLENDBINS", 22574, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_BLENDVALUES = Field.create("BOOSTCLOSEDLOOPBLENDS1_BLENDVALUES", 22590, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_186", 22598, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_TABLE = Field.create("BOOSTCLOSEDLOOPBLENDS2_TABLE", 22600, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_LOADBINS = Field.create("BOOSTCLOSEDLOOPBLENDS2_LOADBINS", 22728, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_RPMBINS = Field.create("BOOSTCLOSEDLOOPBLENDS2_RPMBINS", 22744, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_BLENDPARAMETER = Field.create("BOOSTCLOSEDLOOPBLENDS2_BLENDPARAMETER", 22760, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_161", 22761, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_BLENDBINS = Field.create("BOOSTCLOSEDLOOPBLENDS2_BLENDBINS", 22762, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_BLENDVALUES = Field.create("BOOSTCLOSEDLOOPBLENDS2_BLENDVALUES", 22778, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_186", 22786, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field LAMBDAMAXDEVIATIONTABLE = Field.create("LAMBDAMAXDEVIATIONTABLE", 22788, FieldType.INT8).setScale(0.01).setBaseOffset(0); - public static final Field LAMBDAMAXDEVIATIONLOADBINS = Field.create("LAMBDAMAXDEVIATIONLOADBINS", 22804, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field LAMBDAMAXDEVIATIONRPMBINS = Field.create("LAMBDAMAXDEVIATIONRPMBINS", 22812, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_3603 = Field.create("ALIGNMENTFILL_AT_3603", 3603, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CANVSSSCALING = Field.create("CANVSSSCALING", 3604, FieldType.INT16).setScale(1.0E-4).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_3606 = Field.create("ALIGNMENTFILL_AT_3606", 3606, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field OILTEMPSENSOR_TEMPC_1 = Field.create("OILTEMPSENSOR_TEMPC_1", 3608, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field OILTEMPSENSOR_TEMPC_2 = Field.create("OILTEMPSENSOR_TEMPC_2", 3612, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field OILTEMPSENSOR_TEMPC_3 = Field.create("OILTEMPSENSOR_TEMPC_3", 3616, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field OILTEMPSENSOR_RESISTANCE_1 = Field.create("OILTEMPSENSOR_RESISTANCE_1", 3620, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field OILTEMPSENSOR_RESISTANCE_2 = Field.create("OILTEMPSENSOR_RESISTANCE_2", 3624, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field OILTEMPSENSOR_RESISTANCE_3 = Field.create("OILTEMPSENSOR_RESISTANCE_3", 3628, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field OILTEMPSENSOR_BIAS_RESISTOR = Field.create("OILTEMPSENSOR_BIAS_RESISTOR", 3632, FieldType.INT).setScale(0.1).setBaseOffset(0); + public static final Field OILTEMPSENSOR_ADCCHANNEL = Field.create("OILTEMPSENSOR_ADCCHANNEL", 3636, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field OILTEMPSENSOR_ALIGNMENTFILL_AT_29 = Field.create("OILTEMPSENSOR_ALIGNMENTFILL_AT_29", 3637, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_TEMPC_1 = Field.create("FUELTEMPSENSOR_TEMPC_1", 3640, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_TEMPC_2 = Field.create("FUELTEMPSENSOR_TEMPC_2", 3644, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_TEMPC_3 = Field.create("FUELTEMPSENSOR_TEMPC_3", 3648, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_RESISTANCE_1 = Field.create("FUELTEMPSENSOR_RESISTANCE_1", 3652, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_RESISTANCE_2 = Field.create("FUELTEMPSENSOR_RESISTANCE_2", 3656, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_RESISTANCE_3 = Field.create("FUELTEMPSENSOR_RESISTANCE_3", 3660, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_BIAS_RESISTOR = Field.create("FUELTEMPSENSOR_BIAS_RESISTOR", 3664, FieldType.INT).setScale(0.1).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_ADCCHANNEL = Field.create("FUELTEMPSENSOR_ADCCHANNEL", 3668, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field FUELTEMPSENSOR_ALIGNMENTFILL_AT_29 = Field.create("FUELTEMPSENSOR_ALIGNMENTFILL_AT_29", 3669, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_TEMPC_1 = Field.create("AMBIENTTEMPSENSOR_TEMPC_1", 3672, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_TEMPC_2 = Field.create("AMBIENTTEMPSENSOR_TEMPC_2", 3676, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_TEMPC_3 = Field.create("AMBIENTTEMPSENSOR_TEMPC_3", 3680, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_RESISTANCE_1 = Field.create("AMBIENTTEMPSENSOR_RESISTANCE_1", 3684, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_RESISTANCE_2 = Field.create("AMBIENTTEMPSENSOR_RESISTANCE_2", 3688, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_RESISTANCE_3 = Field.create("AMBIENTTEMPSENSOR_RESISTANCE_3", 3692, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_BIAS_RESISTOR = Field.create("AMBIENTTEMPSENSOR_BIAS_RESISTOR", 3696, FieldType.INT).setScale(0.1).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_ADCCHANNEL = Field.create("AMBIENTTEMPSENSOR_ADCCHANNEL", 3700, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field AMBIENTTEMPSENSOR_ALIGNMENTFILL_AT_29 = Field.create("AMBIENTTEMPSENSOR_ALIGNMENTFILL_AT_29", 3701, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_TEMPC_1 = Field.create("COMPRESSORDISCHARGETEMPERATURE_TEMPC_1", 3704, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_TEMPC_2 = Field.create("COMPRESSORDISCHARGETEMPERATURE_TEMPC_2", 3708, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_TEMPC_3 = Field.create("COMPRESSORDISCHARGETEMPERATURE_TEMPC_3", 3712, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_1 = Field.create("COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_1", 3716, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_2 = Field.create("COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_2", 3720, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_3 = Field.create("COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_3", 3724, FieldType.INT).setScale(0.01).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_BIAS_RESISTOR = Field.create("COMPRESSORDISCHARGETEMPERATURE_BIAS_RESISTOR", 3728, FieldType.INT).setScale(0.1).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_ADCCHANNEL = Field.create("COMPRESSORDISCHARGETEMPERATURE_ADCCHANNEL", 3732, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMPERATURE_ALIGNMENTFILL_AT_29 = Field.create("COMPRESSORDISCHARGETEMPERATURE_ALIGNMENTFILL_AT_29", 3733, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field THROTTLEINLETPRESSURECHANNEL = Field.create("THROTTLEINLETPRESSURECHANNEL", 3736, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGEPRESSURECHANNEL = Field.create("COMPRESSORDISCHARGEPRESSURECHANNEL", 3737, FieldType.INT8, adc_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field MAXINJECTORDUTYINSTANT = Field.create("MAXINJECTORDUTYINSTANT", 3738, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAXINJECTORDUTYSUSTAINED = Field.create("MAXINJECTORDUTYSUSTAINED", 3739, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAXINJECTORDUTYSUSTAINEDTIMEOUT = Field.create("MAXINJECTORDUTYSUSTAINEDTIMEOUT", 3740, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_3741 = Field.create("ALIGNMENTFILL_AT_3741", 3741, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field SPEEDOMETEROUTPUTPIN = Field.create("SPEEDOMETEROUTPUTPIN", 3742, FieldType.INT16, output_pin_e).setScale(1.0).setBaseOffset(0); + public static final Field SPEEDOMETERPULSEPERKM = Field.create("SPEEDOMETERPULSEPERKM", 3744, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field MAINUNUSEDEND = Field.create("MAINUNUSEDEND", 3746, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ETBBIASBINS = Field.create("ETBBIASBINS", 3992, FieldType.FLOAT).setBaseOffset(0); + public static final Field ETBBIASVALUES = Field.create("ETBBIASVALUES", 4024, FieldType.FLOAT).setBaseOffset(0); + public static final Field IACPIDMULTTABLE = Field.create("IACPIDMULTTABLE", 4056, FieldType.INT8).setScale(0.05).setBaseOffset(0); + public static final Field IACPIDMULTLOADBINS = Field.create("IACPIDMULTLOADBINS", 4120, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IACPIDMULTRPMBINS = Field.create("IACPIDMULTRPMBINS", 4128, FieldType.INT8).setScale(10.0).setBaseOffset(0); + public static final Field SPARKDWELLRPMBINS = Field.create("SPARKDWELLRPMBINS", 4136, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SPARKDWELLVALUES = Field.create("SPARKDWELLVALUES", 4152, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field CLTIDLERPMBINS = Field.create("CLTIDLERPMBINS", 4168, FieldType.INT8).setScale(2.0).setBaseOffset(0); + public static final Field CLTIDLERPM = Field.create("CLTIDLERPM", 4184, FieldType.INT8).setScale(20.0).setBaseOffset(0); + public static final Field CLTTIMINGBINS = Field.create("CLTTIMINGBINS", 4200, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLTTIMINGEXTRA = Field.create("CLTTIMINGEXTRA", 4232, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE1BINS = Field.create("SCRIPTCURVE1BINS", 4264, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE1 = Field.create("SCRIPTCURVE1", 4328, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE2BINS = Field.create("SCRIPTCURVE2BINS", 4392, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE2 = Field.create("SCRIPTCURVE2", 4456, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE3BINS = Field.create("SCRIPTCURVE3BINS", 4520, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE3 = Field.create("SCRIPTCURVE3", 4552, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE4BINS = Field.create("SCRIPTCURVE4BINS", 4584, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE4 = Field.create("SCRIPTCURVE4", 4616, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE5BINS = Field.create("SCRIPTCURVE5BINS", 4648, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE5 = Field.create("SCRIPTCURVE5", 4680, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE6BINS = Field.create("SCRIPTCURVE6BINS", 4712, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTCURVE6 = Field.create("SCRIPTCURVE6", 4744, FieldType.FLOAT).setBaseOffset(0); + public static final Field BAROCORRPRESSUREBINS = Field.create("BAROCORRPRESSUREBINS", 4776, FieldType.FLOAT).setBaseOffset(0); + public static final Field BAROCORRRPMBINS = Field.create("BAROCORRRPMBINS", 4792, FieldType.FLOAT).setBaseOffset(0); + public static final Field BAROCORRTABLE = Field.create("BAROCORRTABLE", 4808, FieldType.FLOAT).setBaseOffset(0); + public static final Field CRANKINGTPSCOEF = Field.create("CRANKINGTPSCOEF", 4872, FieldType.FLOAT).setBaseOffset(0); + public static final Field CRANKINGTPSBINS = Field.create("CRANKINGTPSBINS", 4904, FieldType.FLOAT).setBaseOffset(0); + public static final Field CRANKINGADVANCEBINS = Field.create("CRANKINGADVANCEBINS", 4936, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field CRANKINGADVANCE = Field.create("CRANKINGADVANCE", 4944, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field IACCOASTINGRPMBINS = Field.create("IACCOASTINGRPMBINS", 4952, FieldType.INT8).setScale(100.0).setBaseOffset(0); + public static final Field IACCOASTING = Field.create("IACCOASTING", 4968, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field AFTERSTARTCOOLANTBINS = Field.create("AFTERSTARTCOOLANTBINS", 4984, FieldType.FLOAT).setBaseOffset(0); + public static final Field AFTERSTARTHOLDTIME = Field.create("AFTERSTARTHOLDTIME", 5016, FieldType.FLOAT).setBaseOffset(0); + public static final Field AFTERSTARTENRICH = Field.create("AFTERSTARTENRICH", 5048, FieldType.FLOAT).setBaseOffset(0); + public static final Field AFTERSTARTDECAYTIME = Field.create("AFTERSTARTDECAYTIME", 5080, FieldType.FLOAT).setBaseOffset(0); + public static final Field BOOSTTABLEOPENLOOP = Field.create("BOOSTTABLEOPENLOOP", 5112, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field BOOSTRPMBINS = Field.create("BOOSTRPMBINS", 5176, FieldType.INT8).setScale(100.0).setBaseOffset(0); + public static final Field BOOSTTABLECLOSEDLOOP = Field.create("BOOSTTABLECLOSEDLOOP", 5184, FieldType.INT8).setScale(2.0).setBaseOffset(0); + public static final Field BOOSTTPSBINS = Field.create("BOOSTTPSBINS", 5248, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field PEDALTOTPSTABLE = Field.create("PEDALTOTPSTABLE", 5256, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field PEDALTOTPSPEDALBINS = Field.create("PEDALTOTPSPEDALBINS", 5320, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field PEDALTOTPSRPMBINS = Field.create("PEDALTOTPSRPMBINS", 5328, FieldType.INT8).setScale(100.0).setBaseOffset(0); + public static final Field CLTCRANKINGCORRBINS = Field.create("CLTCRANKINGCORRBINS", 5336, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLTCRANKINGCORR = Field.create("CLTCRANKINGCORR", 5368, FieldType.FLOAT).setBaseOffset(0); + public static final Field IDLEADVANCEBINS = Field.create("IDLEADVANCEBINS", 5400, FieldType.INT8).setScale(50.0).setBaseOffset(0); + public static final Field IDLEADVANCE = Field.create("IDLEADVANCE", 5408, FieldType.FLOAT).setBaseOffset(0); + public static final Field IDLEVERPMBINS = Field.create("IDLEVERPMBINS", 5440, FieldType.INT8).setScale(10.0).setBaseOffset(0); + public static final Field IDLEVELOADBINS = Field.create("IDLEVELOADBINS", 5444, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IDLEVETABLE = Field.create("IDLEVETABLE", 5448, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field LUASCRIPT = Field.create("LUASCRIPT", 5480, 8000, FieldType.STRING).setScale(1.0).setBaseOffset(0); + public static final Field CLTFUELCORRBINS = Field.create("CLTFUELCORRBINS", 13480, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLTFUELCORR = Field.create("CLTFUELCORR", 13544, FieldType.FLOAT).setBaseOffset(0); + public static final Field IATFUELCORRBINS = Field.create("IATFUELCORRBINS", 13608, FieldType.FLOAT).setBaseOffset(0); + public static final Field IATFUELCORR = Field.create("IATFUELCORR", 13672, FieldType.FLOAT).setBaseOffset(0); + public static final Field CRANKINGFUELCOEF = Field.create("CRANKINGFUELCOEF", 13736, FieldType.FLOAT).setBaseOffset(0); + public static final Field CRANKINGFUELBINS = Field.create("CRANKINGFUELBINS", 13768, FieldType.FLOAT).setBaseOffset(0); + public static final Field CRANKINGCYCLECOEF = Field.create("CRANKINGCYCLECOEF", 13800, FieldType.FLOAT).setBaseOffset(0); + public static final Field CRANKINGCYCLEBINS = Field.create("CRANKINGCYCLEBINS", 13832, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLTIDLECORRBINS = Field.create("CLTIDLECORRBINS", 13864, FieldType.FLOAT).setBaseOffset(0); + public static final Field CLTIDLECORR = Field.create("CLTIDLECORR", 13928, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAFDECODING = Field.create("MAFDECODING", 13992, FieldType.FLOAT).setBaseOffset(0); + public static final Field MAFDECODINGBINS = Field.create("MAFDECODINGBINS", 15016, FieldType.FLOAT).setBaseOffset(0); + public static final Field IGNITIONIATCORRTABLE = Field.create("IGNITIONIATCORRTABLE", 16040, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field IGNITIONIATCORRTEMPBINS = Field.create("IGNITIONIATCORRTEMPBINS", 16104, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONIATCORRLOADBINS = Field.create("IGNITIONIATCORRLOADBINS", 16112, FieldType.INT8).setScale(5.0).setBaseOffset(0); + public static final Field INJECTIONPHASE = Field.create("INJECTIONPHASE", 16120, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field INJPHASELOADBINS = Field.create("INJPHASELOADBINS", 16632, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field INJPHASERPMBINS = Field.create("INJPHASERPMBINS", 16664, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TCUSOLENOIDTABLE = Field.create("TCUSOLENOIDTABLE", 16696, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAPESTIMATETABLE = Field.create("MAPESTIMATETABLE", 16756, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field MAPESTIMATETPSBINS = Field.create("MAPESTIMATETPSBINS", 17268, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field MAPESTIMATERPMBINS = Field.create("MAPESTIMATERPMBINS", 17300, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VVTTABLE1 = Field.create("VVTTABLE1", 17332, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VVTTABLE1LOADBINS = Field.create("VVTTABLE1LOADBINS", 17396, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VVTTABLE1RPMBINS = Field.create("VVTTABLE1RPMBINS", 17412, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VVTTABLE2 = Field.create("VVTTABLE2", 17428, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VVTTABLE2LOADBINS = Field.create("VVTTABLE2LOADBINS", 17492, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VVTTABLE2RPMBINS = Field.create("VVTTABLE2RPMBINS", 17508, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONTABLE = Field.create("IGNITIONTABLE", 17524, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNITIONLOADBINS = Field.create("IGNITIONLOADBINS", 18036, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONRPMBINS = Field.create("IGNITIONRPMBINS", 18068, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VETABLE = Field.create("VETABLE", 18100, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VELOADBINS = Field.create("VELOADBINS", 18612, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VERPMBINS = Field.create("VERPMBINS", 18644, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field LAMBDATABLE = Field.create("LAMBDATABLE", 18676, FieldType.INT8).setScale(0.006802721088435374).setBaseOffset(0); + public static final Field LAMBDALOADBINS = Field.create("LAMBDALOADBINS", 18932, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field LAMBDARPMBINS = Field.create("LAMBDARPMBINS", 18964, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TPSTPSACCELTABLE = Field.create("TPSTPSACCELTABLE", 18996, FieldType.FLOAT).setBaseOffset(0); + public static final Field TPSTPSACCELFROMRPMBINS = Field.create("TPSTPSACCELFROMRPMBINS", 19252, FieldType.FLOAT).setBaseOffset(0); + public static final Field TPSTPSACCELTORPMBINS = Field.create("TPSTPSACCELTORPMBINS", 19284, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTTABLE1 = Field.create("SCRIPTTABLE1", 19316, FieldType.FLOAT).setBaseOffset(0); + public static final Field SCRIPTTABLE1LOADBINS = Field.create("SCRIPTTABLE1LOADBINS", 19572, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE1RPMBINS = Field.create("SCRIPTTABLE1RPMBINS", 19588, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE2 = Field.create("SCRIPTTABLE2", 19604, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE2LOADBINS = Field.create("SCRIPTTABLE2LOADBINS", 19668, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE2RPMBINS = Field.create("SCRIPTTABLE2RPMBINS", 19684, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE3 = Field.create("SCRIPTTABLE3", 19700, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE3LOADBINS = Field.create("SCRIPTTABLE3LOADBINS", 19764, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE3RPMBINS = Field.create("SCRIPTTABLE3RPMBINS", 19780, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE4 = Field.create("SCRIPTTABLE4", 19796, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE4LOADBINS = Field.create("SCRIPTTABLE4LOADBINS", 19860, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SCRIPTTABLE4RPMBINS = Field.create("SCRIPTTABLE4RPMBINS", 19876, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNTRIMLOADBINS = Field.create("IGNTRIMLOADBINS", 19892, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNTRIMRPMBINS = Field.create("IGNTRIMRPMBINS", 19900, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNTRIMS1_TABLE = Field.create("IGNTRIMS1_TABLE", 19908, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS2_TABLE = Field.create("IGNTRIMS2_TABLE", 19924, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS3_TABLE = Field.create("IGNTRIMS3_TABLE", 19940, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS4_TABLE = Field.create("IGNTRIMS4_TABLE", 19956, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS5_TABLE = Field.create("IGNTRIMS5_TABLE", 19972, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS6_TABLE = Field.create("IGNTRIMS6_TABLE", 19988, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS7_TABLE = Field.create("IGNTRIMS7_TABLE", 20004, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS8_TABLE = Field.create("IGNTRIMS8_TABLE", 20020, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS9_TABLE = Field.create("IGNTRIMS9_TABLE", 20036, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS10_TABLE = Field.create("IGNTRIMS10_TABLE", 20052, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS11_TABLE = Field.create("IGNTRIMS11_TABLE", 20068, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field IGNTRIMS12_TABLE = Field.create("IGNTRIMS12_TABLE", 20084, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMLOADBINS = Field.create("FUELTRIMLOADBINS", 20100, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field FUELTRIMRPMBINS = Field.create("FUELTRIMRPMBINS", 20108, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field FUELTRIMS1_TABLE = Field.create("FUELTRIMS1_TABLE", 20116, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS2_TABLE = Field.create("FUELTRIMS2_TABLE", 20132, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS3_TABLE = Field.create("FUELTRIMS3_TABLE", 20148, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS4_TABLE = Field.create("FUELTRIMS4_TABLE", 20164, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS5_TABLE = Field.create("FUELTRIMS5_TABLE", 20180, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS6_TABLE = Field.create("FUELTRIMS6_TABLE", 20196, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS7_TABLE = Field.create("FUELTRIMS7_TABLE", 20212, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS8_TABLE = Field.create("FUELTRIMS8_TABLE", 20228, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS9_TABLE = Field.create("FUELTRIMS9_TABLE", 20244, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS10_TABLE = Field.create("FUELTRIMS10_TABLE", 20260, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS11_TABLE = Field.create("FUELTRIMS11_TABLE", 20276, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field FUELTRIMS12_TABLE = Field.create("FUELTRIMS12_TABLE", 20292, FieldType.INT8).setScale(0.2).setBaseOffset(0); + public static final Field CRANKINGFUELCOEFE100 = Field.create("CRANKINGFUELCOEFE100", 20308, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field TCU_PCAIRMASSBINS = Field.create("TCU_PCAIRMASSBINS", 20324, FieldType.INT8).setScale(0.02).setBaseOffset(0); + public static final Field TCU_PCVALSR = Field.create("TCU_PCVALSR", 20332, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALSN = Field.create("TCU_PCVALSN", 20340, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS1 = Field.create("TCU_PCVALS1", 20348, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS2 = Field.create("TCU_PCVALS2", 20356, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS3 = Field.create("TCU_PCVALS3", 20364, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS4 = Field.create("TCU_PCVALS4", 20372, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS12 = Field.create("TCU_PCVALS12", 20380, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS23 = Field.create("TCU_PCVALS23", 20388, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS34 = Field.create("TCU_PCVALS34", 20396, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS21 = Field.create("TCU_PCVALS21", 20404, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS32 = Field.create("TCU_PCVALS32", 20412, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_PCVALS43 = Field.create("TCU_PCVALS43", 20420, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_TCCTPSBINS = Field.create("TCU_TCCTPSBINS", 20428, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_TCCLOCKSPEED = Field.create("TCU_TCCLOCKSPEED", 20436, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_TCCUNLOCKSPEED = Field.create("TCU_TCCUNLOCKSPEED", 20444, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_32SPEEDBINS = Field.create("TCU_32SPEEDBINS", 20452, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCU_32VALS = Field.create("TCU_32VALS", 20460, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field THROTTLE2TRIMTABLE = Field.create("THROTTLE2TRIMTABLE", 20468, FieldType.INT8).setScale(0.1).setBaseOffset(0); + public static final Field THROTTLE2TRIMTPSBINS = Field.create("THROTTLE2TRIMTPSBINS", 20504, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field THROTTLE2TRIMRPMBINS = Field.create("THROTTLE2TRIMRPMBINS", 20510, FieldType.INT8).setScale(100.0).setBaseOffset(0); + public static final Field MAXKNOCKRETARDTABLE = Field.create("MAXKNOCKRETARDTABLE", 20516, FieldType.INT8).setScale(0.25).setBaseOffset(0); + public static final Field MAXKNOCKRETARDLOADBINS = Field.create("MAXKNOCKRETARDLOADBINS", 20552, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAXKNOCKRETARDRPMBINS = Field.create("MAXKNOCKRETARDRPMBINS", 20558, FieldType.INT8).setScale(100.0).setBaseOffset(0); + public static final Field ALSTIMINGRETARDTABLE = Field.create("ALSTIMINGRETARDTABLE", 20564, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field ALSIGNRETARDLOADBINS = Field.create("ALSIGNRETARDLOADBINS", 20596, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALSIGNRETARDRPMBINS = Field.create("ALSIGNRETARDRPMBINS", 20604, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALSFUELADJUSTMENT = Field.create("ALSFUELADJUSTMENT", 20612, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field ALSFUELADJUSTMENTLOADBINS = Field.create("ALSFUELADJUSTMENTLOADBINS", 20644, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALSFUELADJUSTMENTRPMBINS = Field.create("ALSFUELADJUSTMENTRPMBINS", 20652, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS1_TABLE = Field.create("IGNBLENDS1_TABLE", 20660, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS1_LOADBINS = Field.create("IGNBLENDS1_LOADBINS", 20788, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS1_RPMBINS = Field.create("IGNBLENDS1_RPMBINS", 20804, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS1_BLENDPARAMETER = Field.create("IGNBLENDS1_BLENDPARAMETER", 20820, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS1_ALIGNMENTFILL_AT_161", 20821, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS1_BLENDBINS = Field.create("IGNBLENDS1_BLENDBINS", 20822, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS1_BLENDVALUES = Field.create("IGNBLENDS1_BLENDVALUES", 20838, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field IGNBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS1_ALIGNMENTFILL_AT_186", 20846, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS2_TABLE = Field.create("IGNBLENDS2_TABLE", 20848, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS2_LOADBINS = Field.create("IGNBLENDS2_LOADBINS", 20976, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS2_RPMBINS = Field.create("IGNBLENDS2_RPMBINS", 20992, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS2_BLENDPARAMETER = Field.create("IGNBLENDS2_BLENDPARAMETER", 21008, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS2_ALIGNMENTFILL_AT_161", 21009, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS2_BLENDBINS = Field.create("IGNBLENDS2_BLENDBINS", 21010, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS2_BLENDVALUES = Field.create("IGNBLENDS2_BLENDVALUES", 21026, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field IGNBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS2_ALIGNMENTFILL_AT_186", 21034, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS3_TABLE = Field.create("IGNBLENDS3_TABLE", 21036, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS3_LOADBINS = Field.create("IGNBLENDS3_LOADBINS", 21164, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS3_RPMBINS = Field.create("IGNBLENDS3_RPMBINS", 21180, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS3_BLENDPARAMETER = Field.create("IGNBLENDS3_BLENDPARAMETER", 21196, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS3_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS3_ALIGNMENTFILL_AT_161", 21197, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS3_BLENDBINS = Field.create("IGNBLENDS3_BLENDBINS", 21198, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS3_BLENDVALUES = Field.create("IGNBLENDS3_BLENDVALUES", 21214, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field IGNBLENDS3_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS3_ALIGNMENTFILL_AT_186", 21222, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS4_TABLE = Field.create("IGNBLENDS4_TABLE", 21224, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS4_LOADBINS = Field.create("IGNBLENDS4_LOADBINS", 21352, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS4_RPMBINS = Field.create("IGNBLENDS4_RPMBINS", 21368, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS4_BLENDPARAMETER = Field.create("IGNBLENDS4_BLENDPARAMETER", 21384, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS4_ALIGNMENTFILL_AT_161 = Field.create("IGNBLENDS4_ALIGNMENTFILL_AT_161", 21385, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IGNBLENDS4_BLENDBINS = Field.create("IGNBLENDS4_BLENDBINS", 21386, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDS4_BLENDVALUES = Field.create("IGNBLENDS4_BLENDVALUES", 21402, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field IGNBLENDS4_ALIGNMENTFILL_AT_186 = Field.create("IGNBLENDS4_ALIGNMENTFILL_AT_186", 21410, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS1_TABLE = Field.create("VEBLENDS1_TABLE", 21412, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS1_LOADBINS = Field.create("VEBLENDS1_LOADBINS", 21540, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS1_RPMBINS = Field.create("VEBLENDS1_RPMBINS", 21556, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS1_BLENDPARAMETER = Field.create("VEBLENDS1_BLENDPARAMETER", 21572, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS1_ALIGNMENTFILL_AT_161", 21573, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS1_BLENDBINS = Field.create("VEBLENDS1_BLENDBINS", 21574, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS1_BLENDVALUES = Field.create("VEBLENDS1_BLENDVALUES", 21590, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field VEBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS1_ALIGNMENTFILL_AT_186", 21598, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS2_TABLE = Field.create("VEBLENDS2_TABLE", 21600, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS2_LOADBINS = Field.create("VEBLENDS2_LOADBINS", 21728, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS2_RPMBINS = Field.create("VEBLENDS2_RPMBINS", 21744, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS2_BLENDPARAMETER = Field.create("VEBLENDS2_BLENDPARAMETER", 21760, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS2_ALIGNMENTFILL_AT_161", 21761, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS2_BLENDBINS = Field.create("VEBLENDS2_BLENDBINS", 21762, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS2_BLENDVALUES = Field.create("VEBLENDS2_BLENDVALUES", 21778, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field VEBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS2_ALIGNMENTFILL_AT_186", 21786, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS3_TABLE = Field.create("VEBLENDS3_TABLE", 21788, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS3_LOADBINS = Field.create("VEBLENDS3_LOADBINS", 21916, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS3_RPMBINS = Field.create("VEBLENDS3_RPMBINS", 21932, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS3_BLENDPARAMETER = Field.create("VEBLENDS3_BLENDPARAMETER", 21948, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS3_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS3_ALIGNMENTFILL_AT_161", 21949, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS3_BLENDBINS = Field.create("VEBLENDS3_BLENDBINS", 21950, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS3_BLENDVALUES = Field.create("VEBLENDS3_BLENDVALUES", 21966, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field VEBLENDS3_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS3_ALIGNMENTFILL_AT_186", 21974, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS4_TABLE = Field.create("VEBLENDS4_TABLE", 21976, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS4_LOADBINS = Field.create("VEBLENDS4_LOADBINS", 22104, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS4_RPMBINS = Field.create("VEBLENDS4_RPMBINS", 22120, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS4_BLENDPARAMETER = Field.create("VEBLENDS4_BLENDPARAMETER", 22136, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS4_ALIGNMENTFILL_AT_161 = Field.create("VEBLENDS4_ALIGNMENTFILL_AT_161", 22137, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VEBLENDS4_BLENDBINS = Field.create("VEBLENDS4_BLENDBINS", 22138, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDS4_BLENDVALUES = Field.create("VEBLENDS4_BLENDVALUES", 22154, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field VEBLENDS4_ALIGNMENTFILL_AT_186 = Field.create("VEBLENDS4_ALIGNMENTFILL_AT_186", 22162, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field THROTTLEESTIMATEEFFECTIVEAREABINS = Field.create("THROTTLEESTIMATEEFFECTIVEAREABINS", 22164, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field THROTTLEESTIMATEEFFECTIVEAREAVALUES = Field.create("THROTTLEESTIMATEEFFECTIVEAREAVALUES", 22188, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_TABLE = Field.create("BOOSTOPENLOOPBLENDS1_TABLE", 22212, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_LOADBINS = Field.create("BOOSTOPENLOOPBLENDS1_LOADBINS", 22340, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_RPMBINS = Field.create("BOOSTOPENLOOPBLENDS1_RPMBINS", 22356, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_BLENDPARAMETER = Field.create("BOOSTOPENLOOPBLENDS1_BLENDPARAMETER", 22372, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_161", 22373, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_BLENDBINS = Field.create("BOOSTOPENLOOPBLENDS1_BLENDBINS", 22374, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_BLENDVALUES = Field.create("BOOSTOPENLOOPBLENDS1_BLENDVALUES", 22390, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("BOOSTOPENLOOPBLENDS1_ALIGNMENTFILL_AT_186", 22398, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_TABLE = Field.create("BOOSTOPENLOOPBLENDS2_TABLE", 22400, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_LOADBINS = Field.create("BOOSTOPENLOOPBLENDS2_LOADBINS", 22528, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_RPMBINS = Field.create("BOOSTOPENLOOPBLENDS2_RPMBINS", 22544, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_BLENDPARAMETER = Field.create("BOOSTOPENLOOPBLENDS2_BLENDPARAMETER", 22560, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_161", 22561, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_BLENDBINS = Field.create("BOOSTOPENLOOPBLENDS2_BLENDBINS", 22562, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_BLENDVALUES = Field.create("BOOSTOPENLOOPBLENDS2_BLENDVALUES", 22578, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("BOOSTOPENLOOPBLENDS2_ALIGNMENTFILL_AT_186", 22586, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_TABLE = Field.create("BOOSTCLOSEDLOOPBLENDS1_TABLE", 22588, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_LOADBINS = Field.create("BOOSTCLOSEDLOOPBLENDS1_LOADBINS", 22716, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_RPMBINS = Field.create("BOOSTCLOSEDLOOPBLENDS1_RPMBINS", 22732, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_BLENDPARAMETER = Field.create("BOOSTCLOSEDLOOPBLENDS1_BLENDPARAMETER", 22748, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_161 = Field.create("BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_161", 22749, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_BLENDBINS = Field.create("BOOSTCLOSEDLOOPBLENDS1_BLENDBINS", 22750, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_BLENDVALUES = Field.create("BOOSTCLOSEDLOOPBLENDS1_BLENDVALUES", 22766, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_186 = Field.create("BOOSTCLOSEDLOOPBLENDS1_ALIGNMENTFILL_AT_186", 22774, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_TABLE = Field.create("BOOSTCLOSEDLOOPBLENDS2_TABLE", 22776, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_LOADBINS = Field.create("BOOSTCLOSEDLOOPBLENDS2_LOADBINS", 22904, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_RPMBINS = Field.create("BOOSTCLOSEDLOOPBLENDS2_RPMBINS", 22920, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_BLENDPARAMETER = Field.create("BOOSTCLOSEDLOOPBLENDS2_BLENDPARAMETER", 22936, FieldType.INT8, gppwm_channel_e).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_161 = Field.create("BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_161", 22937, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_BLENDBINS = Field.create("BOOSTCLOSEDLOOPBLENDS2_BLENDBINS", 22938, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_BLENDVALUES = Field.create("BOOSTCLOSEDLOOPBLENDS2_BLENDVALUES", 22954, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_186 = Field.create("BOOSTCLOSEDLOOPBLENDS2_ALIGNMENTFILL_AT_186", 22962, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field LAMBDAMAXDEVIATIONTABLE = Field.create("LAMBDAMAXDEVIATIONTABLE", 22964, FieldType.INT8).setScale(0.01).setBaseOffset(0); + public static final Field LAMBDAMAXDEVIATIONLOADBINS = Field.create("LAMBDAMAXDEVIATIONLOADBINS", 22980, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field LAMBDAMAXDEVIATIONRPMBINS = Field.create("LAMBDAMAXDEVIATIONRPMBINS", 22988, FieldType.INT16).setScale(1.0).setBaseOffset(0); public static final Field[] VALUES = { ENGINETYPE, SENSORSNIFFERRPMTHRESHOLD, @@ -2641,7 +2678,6 @@ public class Fields { ENABLETRAILINGSPARKS, ETB_USE_TWO_WIRES, ISDOUBLESOLENOIDIDLE, - USEEEPROM, USETLE8888_CRANKING_HACK, KICKSTARTCRANKING, USESEPARATEIDLETABLESFORCRANKINGTAPER, @@ -2700,7 +2736,7 @@ public class Fields { TRIGGERSIMULATORRPM, CYLINDERSCOUNT, FIRINGORDER, - UNUSEDOLDBENCHTEST, + VVTBUMPAMOUNT, BENCHTESTONTIME, CYLINDERBORE, FUELALGORITHM, @@ -2929,7 +2965,7 @@ public class Fields { LAMBDAPROTECTIONRESTORERPM, ACRELAYPINMODE, ACRELAYPIN, - MAFSENSORTYPE, + UNUSED754, DRV8860SPIDEVICE, SCRIPTSETTING1, SCRIPTSETTING2, @@ -2957,11 +2993,11 @@ public class Fields { ENABLELAUNCHRETARD, ENABLECANVSS, ENABLEINNOVATELC2, - SHOWHUMANREADABLEWARNING, STFTIGNOREERRORMAGNITUDE, ENABLESOFTWAREKNOCK, VERBOSEVVTDECODING, INVERTCAMVVTSIGNAL, + ALPHANUSEIAT, KNOCKBANKCYL1, KNOCKBANKCYL2, KNOCKBANKCYL3, @@ -3082,7 +3118,6 @@ public class Fields { TPS2SECONDARYMAX, WIDEBANDONSECONDBUS, FUELCLOSEDLOOPCORRECTIONENABLED, - ISVERBOSEIAC, BOARDUSETACHPULLUP, BOARDUSETEMPPULLUP, YESUNDERSTANDLOCKING, @@ -3701,6 +3736,53 @@ public class Fields { RPMHARDLIMITHYST, IGNTESTCOUNT, IGNTESTOFFTIME, + ALIGNMENTFILL_AT_3603, + CANVSSSCALING, + ALIGNMENTFILL_AT_3606, + OILTEMPSENSOR_TEMPC_1, + OILTEMPSENSOR_TEMPC_2, + OILTEMPSENSOR_TEMPC_3, + OILTEMPSENSOR_RESISTANCE_1, + OILTEMPSENSOR_RESISTANCE_2, + OILTEMPSENSOR_RESISTANCE_3, + OILTEMPSENSOR_BIAS_RESISTOR, + OILTEMPSENSOR_ADCCHANNEL, + OILTEMPSENSOR_ALIGNMENTFILL_AT_29, + FUELTEMPSENSOR_TEMPC_1, + FUELTEMPSENSOR_TEMPC_2, + FUELTEMPSENSOR_TEMPC_3, + FUELTEMPSENSOR_RESISTANCE_1, + FUELTEMPSENSOR_RESISTANCE_2, + FUELTEMPSENSOR_RESISTANCE_3, + FUELTEMPSENSOR_BIAS_RESISTOR, + FUELTEMPSENSOR_ADCCHANNEL, + FUELTEMPSENSOR_ALIGNMENTFILL_AT_29, + AMBIENTTEMPSENSOR_TEMPC_1, + AMBIENTTEMPSENSOR_TEMPC_2, + AMBIENTTEMPSENSOR_TEMPC_3, + AMBIENTTEMPSENSOR_RESISTANCE_1, + AMBIENTTEMPSENSOR_RESISTANCE_2, + AMBIENTTEMPSENSOR_RESISTANCE_3, + AMBIENTTEMPSENSOR_BIAS_RESISTOR, + AMBIENTTEMPSENSOR_ADCCHANNEL, + AMBIENTTEMPSENSOR_ALIGNMENTFILL_AT_29, + COMPRESSORDISCHARGETEMPERATURE_TEMPC_1, + COMPRESSORDISCHARGETEMPERATURE_TEMPC_2, + COMPRESSORDISCHARGETEMPERATURE_TEMPC_3, + COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_1, + COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_2, + COMPRESSORDISCHARGETEMPERATURE_RESISTANCE_3, + COMPRESSORDISCHARGETEMPERATURE_BIAS_RESISTOR, + COMPRESSORDISCHARGETEMPERATURE_ADCCHANNEL, + COMPRESSORDISCHARGETEMPERATURE_ALIGNMENTFILL_AT_29, + THROTTLEINLETPRESSURECHANNEL, + COMPRESSORDISCHARGEPRESSURECHANNEL, + MAXINJECTORDUTYINSTANT, + MAXINJECTORDUTYSUSTAINED, + MAXINJECTORDUTYSUSTAINEDTIMEOUT, + ALIGNMENTFILL_AT_3741, + SPEEDOMETEROUTPUTPIN, + SPEEDOMETERPULSEPERKM, MAINUNUSEDEND, ETBBIASBINS, ETBBIASVALUES, @@ -3734,7 +3816,6 @@ public class Fields { CRANKINGADVANCE, IACCOASTINGRPMBINS, IACCOASTING, - WARNING_MESSAGE, AFTERSTARTCOOLANTBINS, AFTERSTARTHOLDTIME, AFTERSTARTENRICH, diff --git a/java_console/models/src/main/java/com/rusefi/config/generated/TsOutputs.java b/java_console/models/src/main/java/com/rusefi/config/generated/TsOutputs.java index 40b9f884eb..7ef88c3b4a 100644 --- a/java_console/models/src/main/java/com/rusefi/config/generated/TsOutputs.java +++ b/java_console/models/src/main/java/com/rusefi/config/generated/TsOutputs.java @@ -17,6 +17,8 @@ public class TsOutputs { public static final String GAUGE_NAME_ACCEL_Z = "Acceleration: Z"; public static final String GAUGE_NAME_AFR = "Air/Fuel Ratio"; public static final String GAUGE_NAME_AFR2 = "Air/Fuel Ratio 2"; + public static final String GAUGE_NAME_AFR2_GAS_SCALE = "Air/Fuel Ratio 2 (Gas Scale)"; + public static final String GAUGE_NAME_AFR_GAS_SCALE = "Air/Fuel Ratio (Gas Scale)"; public static final String GAUGE_NAME_AIR_FLOW_ESTIMATE = "Air: Flow estimate"; public static final String GAUGE_NAME_AIR_FLOW_MEASURED = "MAF"; public static final String GAUGE_NAME_AIR_FLOW_MEASURED_2 = "MAF #2"; @@ -196,466 +198,440 @@ public class TsOutputs { public static final Field MAPVALUE = Field.create("MAPVALUE", 30, FieldType.INT16).setScale(0.03333333333333333).setBaseOffset(0); public static final Field BAROPRESSURE = Field.create("BAROPRESSURE", 32, FieldType.INT16).setScale(0.03333333333333333).setBaseOffset(0); public static final Field LAMBDAVALUE = Field.create("LAMBDAVALUE", 34, FieldType.INT16).setScale(1.0E-4).setBaseOffset(0); - public static final Field KNOCKRETARD = Field.create("KNOCKRETARD", 36, FieldType.INT8).setScale(0.1).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_37 = Field.create("ALIGNMENTFILL_AT_37", 37, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VBATT = Field.create("VBATT", 38, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field OILPRESSURE = Field.create("OILPRESSURE", 40, FieldType.INT16).setScale(0.03333333333333333).setBaseOffset(0); - public static final Field VVTPOSITIONB1I = Field.create("VVTPOSITIONB1I", 42, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field ACTUALLASTINJECTION = Field.create("ACTUALLASTINJECTION", 44, FieldType.INT16).setScale(0.0033333333333333335).setBaseOffset(0); - public static final Field INJECTORDUTYCYCLE = Field.create("INJECTORDUTYCYCLE", 46, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field VEVALUE = Field.create("VEVALUE", 47, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field INJECTIONOFFSET = Field.create("INJECTIONOFFSET", 48, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ENGINEMAKECODENAMECRC16 = Field.create("ENGINEMAKECODENAMECRC16", 50, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field WALLFUELAMOUNT = Field.create("WALLFUELAMOUNT", 52, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field WALLFUELCORRECTIONVALUE = Field.create("WALLFUELCORRECTIONVALUE", 54, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field REVOLUTIONCOUNTERSINCESTART = Field.create("REVOLUTIONCOUNTERSINCESTART", 56, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field CANREADCOUNTER = Field.create("CANREADCOUNTER", 58, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field TPSACCELFUEL = Field.create("TPSACCELFUEL", 60, FieldType.INT16).setScale(0.0033333333333333335).setBaseOffset(0); - public static final Field IGNITIONADVANCE = Field.create("IGNITIONADVANCE", 62, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field CURRENTIGNITIONMODE = Field.create("CURRENTIGNITIONMODE", 64, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field CURRENTINJECTIONMODE = Field.create("CURRENTINJECTIONMODE", 65, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field COILDUTYCYCLE = Field.create("COILDUTYCYCLE", 66, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field ETBTARGET = Field.create("ETBTARGET", 68, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field ETB1DUTYCYCLE = Field.create("ETB1DUTYCYCLE", 70, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field FUELTANKLEVEL = Field.create("FUELTANKLEVEL", 72, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field TOTALFUELCONSUMPTION = Field.create("TOTALFUELCONSUMPTION", 74, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field FUELFLOWRATE = Field.create("FUELFLOWRATE", 76, FieldType.INT16).setScale(0.005).setBaseOffset(0); - public static final Field TPS2VALUE = Field.create("TPS2VALUE", 78, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field TUNECRC16 = Field.create("TUNECRC16", 80, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_82 = Field.create("ALIGNMENTFILL_AT_82", 82, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field KNOCKLEVEL = Field.create("KNOCKLEVEL", 84, FieldType.FLOAT).setBaseOffset(0); - public static final Field SECONDS = Field.create("SECONDS", 88, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field ENGINEMODE = Field.create("ENGINEMODE", 92, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field FIRMWAREVERSION = Field.create("FIRMWAREVERSION", 96, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field RAWWASTEGATEPOSITION = Field.create("RAWWASTEGATEPOSITION", 100, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field ACCELERATIONX = Field.create("ACCELERATIONX", 102, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field ACCELERATIONY = Field.create("ACCELERATIONY", 104, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field DETECTEDGEAR = Field.create("DETECTEDGEAR", 106, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MAXTRIGGERREENTRANT = Field.create("MAXTRIGGERREENTRANT", 107, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field RAWLOWFUELPRESSURE = Field.create("RAWLOWFUELPRESSURE", 108, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field RAWHIGHFUELPRESSURE = Field.create("RAWHIGHFUELPRESSURE", 110, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field LOWFUELPRESSURE = Field.create("LOWFUELPRESSURE", 112, FieldType.INT16).setScale(0.03333333333333333).setBaseOffset(0); - public static final Field HIGHFUELPRESSURE = Field.create("HIGHFUELPRESSURE", 114, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field RAWPPSSECONDARY = Field.create("RAWPPSSECONDARY", 116, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field TCUDESIREDGEAR = Field.create("TCUDESIREDGEAR", 118, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field FLEXPERCENT = Field.create("FLEXPERCENT", 119, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field WASTEGATEPOSITIONSENSOR = Field.create("WASTEGATEPOSITIONSENSOR", 120, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VBATT = Field.create("VBATT", 36, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field OILPRESSURE = Field.create("OILPRESSURE", 38, FieldType.INT16).setScale(0.03333333333333333).setBaseOffset(0); + public static final Field VVTPOSITIONB1I = Field.create("VVTPOSITIONB1I", 40, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field ACTUALLASTINJECTION = Field.create("ACTUALLASTINJECTION", 42, FieldType.INT16).setScale(0.0033333333333333335).setBaseOffset(0); + public static final Field INJECTORDUTYCYCLE = Field.create("INJECTORDUTYCYCLE", 44, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field VEVALUE = Field.create("VEVALUE", 45, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field INJECTIONOFFSET = Field.create("INJECTIONOFFSET", 46, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ENGINEMAKECODENAMECRC16 = Field.create("ENGINEMAKECODENAMECRC16", 48, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field WALLFUELAMOUNT = Field.create("WALLFUELAMOUNT", 50, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field WALLFUELCORRECTIONVALUE = Field.create("WALLFUELCORRECTIONVALUE", 52, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field REVOLUTIONCOUNTERSINCESTART = Field.create("REVOLUTIONCOUNTERSINCESTART", 54, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field CANREADCOUNTER = Field.create("CANREADCOUNTER", 56, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field TPSACCELFUEL = Field.create("TPSACCELFUEL", 58, FieldType.INT16).setScale(0.0033333333333333335).setBaseOffset(0); + public static final Field IGNITIONADVANCE = Field.create("IGNITIONADVANCE", 60, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field CURRENTIGNITIONMODE = Field.create("CURRENTIGNITIONMODE", 62, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CURRENTINJECTIONMODE = Field.create("CURRENTINJECTIONMODE", 63, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field COILDUTYCYCLE = Field.create("COILDUTYCYCLE", 64, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field ETBTARGET = Field.create("ETBTARGET", 66, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field ETB1DUTYCYCLE = Field.create("ETB1DUTYCYCLE", 68, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field FUELTANKLEVEL = Field.create("FUELTANKLEVEL", 70, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field TOTALFUELCONSUMPTION = Field.create("TOTALFUELCONSUMPTION", 72, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field FUELFLOWRATE = Field.create("FUELFLOWRATE", 74, FieldType.INT16).setScale(0.005).setBaseOffset(0); + public static final Field TPS2VALUE = Field.create("TPS2VALUE", 76, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field TUNECRC16 = Field.create("TUNECRC16", 78, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field SECONDS = Field.create("SECONDS", 80, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field ENGINEMODE = Field.create("ENGINEMODE", 84, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field FIRMWAREVERSION = Field.create("FIRMWAREVERSION", 88, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field RAWWASTEGATEPOSITION = Field.create("RAWWASTEGATEPOSITION", 92, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field ACCELERATIONX = Field.create("ACCELERATIONX", 94, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field ACCELERATIONY = Field.create("ACCELERATIONY", 96, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field DETECTEDGEAR = Field.create("DETECTEDGEAR", 98, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAXTRIGGERREENTRANT = Field.create("MAXTRIGGERREENTRANT", 99, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field RAWLOWFUELPRESSURE = Field.create("RAWLOWFUELPRESSURE", 100, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field RAWHIGHFUELPRESSURE = Field.create("RAWHIGHFUELPRESSURE", 102, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field LOWFUELPRESSURE = Field.create("LOWFUELPRESSURE", 104, FieldType.INT16).setScale(0.03333333333333333).setBaseOffset(0); + public static final Field HIGHFUELPRESSURE = Field.create("HIGHFUELPRESSURE", 106, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field RAWPPSSECONDARY = Field.create("RAWPPSSECONDARY", 108, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field TCUDESIREDGEAR = Field.create("TCUDESIREDGEAR", 110, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field FLEXPERCENT = Field.create("FLEXPERCENT", 111, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field WASTEGATEPOSITIONSENSOR = Field.create("WASTEGATEPOSITIONSENSOR", 112, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_114 = Field.create("ALIGNMENTFILL_AT_114", 114, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CALIBRATIONVALUE = Field.create("CALIBRATIONVALUE", 116, FieldType.FLOAT).setBaseOffset(0); + public static final Field CALIBRATIONMODE = Field.create("CALIBRATIONMODE", 120, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field IDLESTEPPERTARGETPOSITION = Field.create("IDLESTEPPERTARGETPOSITION", 121, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final Field ALIGNMENTFILL_AT_122 = Field.create("ALIGNMENTFILL_AT_122", 122, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final Field TSCONFIGVERSION = Field.create("TSCONFIGVERSION", 124, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field CALIBRATIONVALUE = Field.create("CALIBRATIONVALUE", 128, FieldType.FLOAT).setBaseOffset(0); - public static final Field CALIBRATIONMODE = Field.create("CALIBRATIONMODE", 132, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field IDLETARGETPOSITION = Field.create("IDLETARGETPOSITION", 133, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_134 = Field.create("ALIGNMENTFILL_AT_134", 134, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TOTALTRIGGERERRORCOUNTER = Field.create("TOTALTRIGGERERRORCOUNTER", 136, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field ORDERINGERRORCOUNTER = Field.create("ORDERINGERRORCOUNTER", 140, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field WARNINGCOUNTER = Field.create("WARNINGCOUNTER", 144, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field LASTERRORCODE = Field.create("LASTERRORCODE", 146, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field RECENTERRORCODE1 = Field.create("RECENTERRORCODE1", 148, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field RECENTERRORCODE2 = Field.create("RECENTERRORCODE2", 150, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field RECENTERRORCODE3 = Field.create("RECENTERRORCODE3", 152, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field RECENTERRORCODE4 = Field.create("RECENTERRORCODE4", 154, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field RECENTERRORCODE5 = Field.create("RECENTERRORCODE5", 156, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field RECENTERRORCODE6 = Field.create("RECENTERRORCODE6", 158, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field RECENTERRORCODE7 = Field.create("RECENTERRORCODE7", 160, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field RECENTERRORCODE8 = Field.create("RECENTERRORCODE8", 162, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field DEBUGFLOATFIELD1 = Field.create("DEBUGFLOATFIELD1", 164, FieldType.FLOAT).setBaseOffset(0); - public static final Field DEBUGFLOATFIELD2 = Field.create("DEBUGFLOATFIELD2", 168, FieldType.FLOAT).setBaseOffset(0); - public static final Field DEBUGFLOATFIELD3 = Field.create("DEBUGFLOATFIELD3", 172, FieldType.FLOAT).setBaseOffset(0); - public static final Field DEBUGFLOATFIELD4 = Field.create("DEBUGFLOATFIELD4", 176, FieldType.FLOAT).setBaseOffset(0); - public static final Field DEBUGFLOATFIELD5 = Field.create("DEBUGFLOATFIELD5", 180, FieldType.FLOAT).setBaseOffset(0); - public static final Field DEBUGFLOATFIELD6 = Field.create("DEBUGFLOATFIELD6", 184, FieldType.FLOAT).setBaseOffset(0); - public static final Field DEBUGFLOATFIELD7 = Field.create("DEBUGFLOATFIELD7", 188, FieldType.FLOAT).setBaseOffset(0); - public static final Field DEBUGINTFIELD1 = Field.create("DEBUGINTFIELD1", 192, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field DEBUGINTFIELD2 = Field.create("DEBUGINTFIELD2", 196, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field DEBUGINTFIELD3 = Field.create("DEBUGINTFIELD3", 200, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field DEBUGINTFIELD4 = Field.create("DEBUGINTFIELD4", 204, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field DEBUGINTFIELD5 = Field.create("DEBUGINTFIELD5", 206, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field EGT1 = Field.create("EGT1", 208, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field EGT2 = Field.create("EGT2", 210, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field EGT3 = Field.create("EGT3", 212, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field EGT4 = Field.create("EGT4", 214, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field EGT5 = Field.create("EGT5", 216, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field EGT6 = Field.create("EGT6", 218, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field EGT7 = Field.create("EGT7", 220, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field EGT8 = Field.create("EGT8", 222, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field RAWTPS1PRIMARY = Field.create("RAWTPS1PRIMARY", 224, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field RAWPPSPRIMARY = Field.create("RAWPPSPRIMARY", 226, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field RAWCLT = Field.create("RAWCLT", 228, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field RAWIAT = Field.create("RAWIAT", 230, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field RAWOILPRESSURE = Field.create("RAWOILPRESSURE", 232, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field FUELCLOSEDLOOPBINIDX = Field.create("FUELCLOSEDLOOPBINIDX", 234, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCUCURRENTGEAR = Field.create("TCUCURRENTGEAR", 235, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field KNOCK1 = Field.create("KNOCK1", 236, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field KNOCK2 = Field.create("KNOCK2", 237, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field KNOCK3 = Field.create("KNOCK3", 238, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field KNOCK4 = Field.create("KNOCK4", 239, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field KNOCK5 = Field.create("KNOCK5", 240, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field KNOCK6 = Field.create("KNOCK6", 241, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field KNOCK7 = Field.create("KNOCK7", 242, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field KNOCK8 = Field.create("KNOCK8", 243, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field KNOCK9 = Field.create("KNOCK9", 244, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field KNOCK10 = Field.create("KNOCK10", 245, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field KNOCK11 = Field.create("KNOCK11", 246, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field KNOCK12 = Field.create("KNOCK12", 247, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field AFRVALUE = Field.create("AFRVALUE", 248, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field VSSACCELERATION = Field.create("VSSACCELERATION", 250, FieldType.INT16).setScale(0.0033333333333333335).setBaseOffset(0); - public static final Field LAMBDAVALUE2 = Field.create("LAMBDAVALUE2", 252, FieldType.INT16).setScale(1.0E-4).setBaseOffset(0); - public static final Field AFRVALUE2 = Field.create("AFRVALUE2", 254, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field VVTPOSITIONB1E = Field.create("VVTPOSITIONB1E", 256, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field VVTPOSITIONB2I = Field.create("VVTPOSITIONB2I", 258, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field VVTPOSITIONB2E = Field.create("VVTPOSITIONB2E", 260, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field FUELPIDCORRECTION1 = Field.create("FUELPIDCORRECTION1", 262, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field FUELPIDCORRECTION2 = Field.create("FUELPIDCORRECTION2", 264, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field RAWTPS1SECONDARY = Field.create("RAWTPS1SECONDARY", 266, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field RAWTPS2PRIMARY = Field.create("RAWTPS2PRIMARY", 268, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field RAWTPS2SECONDARY = Field.create("RAWTPS2SECONDARY", 270, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field KNOCKCOUNT = Field.create("KNOCKCOUNT", 272, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ACCELERATIONZ = Field.create("ACCELERATIONZ", 274, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field ACCELERATIONROLL = Field.create("ACCELERATIONROLL", 276, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field ACCELERATIONYAW = Field.create("ACCELERATIONYAW", 278, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTTARGETS1 = Field.create("VVTTARGETS1", 280, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VVTTARGETS2 = Field.create("VVTTARGETS2", 281, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VVTTARGETS3 = Field.create("VVTTARGETS3", 282, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field VVTTARGETS4 = Field.create("VVTTARGETS4", 283, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TURBOSPEED = Field.create("TURBOSPEED", 284, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field IGNITIONADVANCECYL1 = Field.create("IGNITIONADVANCECYL1", 286, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field IGNITIONADVANCECYL2 = Field.create("IGNITIONADVANCECYL2", 288, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field IGNITIONADVANCECYL3 = Field.create("IGNITIONADVANCECYL3", 290, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field IGNITIONADVANCECYL4 = Field.create("IGNITIONADVANCECYL4", 292, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field IGNITIONADVANCECYL5 = Field.create("IGNITIONADVANCECYL5", 294, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field IGNITIONADVANCECYL6 = Field.create("IGNITIONADVANCECYL6", 296, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field IGNITIONADVANCECYL7 = Field.create("IGNITIONADVANCECYL7", 298, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field IGNITIONADVANCECYL8 = Field.create("IGNITIONADVANCECYL8", 300, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field IGNITIONADVANCECYL9 = Field.create("IGNITIONADVANCECYL9", 302, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field IGNITIONADVANCECYL10 = Field.create("IGNITIONADVANCECYL10", 304, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field IGNITIONADVANCECYL11 = Field.create("IGNITIONADVANCECYL11", 306, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field IGNITIONADVANCECYL12 = Field.create("IGNITIONADVANCECYL12", 308, FieldType.INT16).setScale(0.02).setBaseOffset(0); - public static final Field TPS1SPLIT = Field.create("TPS1SPLIT", 310, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field TPS2SPLIT = Field.create("TPS2SPLIT", 312, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field TPS12SPLIT = Field.create("TPS12SPLIT", 314, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field ACCPEDALSPLIT = Field.create("ACCPEDALSPLIT", 316, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field SPARKCUTREASON = Field.create("SPARKCUTREASON", 318, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field FUELCUTREASON = Field.create("FUELCUTREASON", 319, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MAFESTIMATE = Field.create("MAFESTIMATE", 320, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field INSTANTRPM = Field.create("INSTANTRPM", 322, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field RAWMAP = Field.create("RAWMAP", 324, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field RAWAFR = Field.create("RAWAFR", 326, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field CALIBRATIONVALUE2 = Field.create("CALIBRATIONVALUE2", 328, FieldType.FLOAT).setBaseOffset(0); - public static final Field LUAINVOCATIONCOUNTER = Field.create("LUAINVOCATIONCOUNTER", 332, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field LUALASTCYCLEDURATION = Field.create("LUALASTCYCLEDURATION", 336, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field TCU_CURRENTRANGE = Field.create("TCU_CURRENTRANGE", 340, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_341 = Field.create("ALIGNMENTFILL_AT_341", 341, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TCRATIO = Field.create("TCRATIO", 342, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field LASTSHIFTTIME = Field.create("LASTSHIFTTIME", 344, FieldType.FLOAT).setBaseOffset(0); - public static final Field VSSEDGECOUNTER = Field.create("VSSEDGECOUNTER", 348, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field ISSEDGECOUNTER = Field.create("ISSEDGECOUNTER", 352, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field AUXLINEAR1 = Field.create("AUXLINEAR1", 356, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field AUXLINEAR2 = Field.create("AUXLINEAR2", 358, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field FALLBACKMAP = Field.create("FALLBACKMAP", 360, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field INSTANTMAPVALUE = Field.create("INSTANTMAPVALUE", 362, FieldType.INT16).setScale(0.03333333333333333).setBaseOffset(0); - public static final Field MAXLOCKEDDURATION = Field.create("MAXLOCKEDDURATION", 364, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field CANWRITEOK = Field.create("CANWRITEOK", 366, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field CANWRITENOTOK = Field.create("CANWRITENOTOK", 368, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_370 = Field.create("ALIGNMENTFILL_AT_370", 370, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGERPRIMARYFALL = Field.create("TRIGGERPRIMARYFALL", 372, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGERPRIMARYRISE = Field.create("TRIGGERPRIMARYRISE", 376, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGERSECONDARYFALL = Field.create("TRIGGERSECONDARYFALL", 380, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGERSECONDARYRISE = Field.create("TRIGGERSECONDARYRISE", 384, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGERVVTFALL = Field.create("TRIGGERVVTFALL", 388, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field TRIGGERVVTRISE = Field.create("TRIGGERVVTRISE", 392, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field STARTERSTATE = Field.create("STARTERSTATE", 396, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field STARTERRELAYDISABLE = Field.create("STARTERRELAYDISABLE", 397, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field MULTISPARKCOUNTER = Field.create("MULTISPARKCOUNTER", 398, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field EXTIOVERFLOWCOUNT = Field.create("EXTIOVERFLOWCOUNT", 399, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALTERNATORSTATUS_PTERM = Field.create("ALTERNATORSTATUS_PTERM", 400, FieldType.FLOAT).setBaseOffset(0); - public static final Field ALTERNATORSTATUS_ITERM = Field.create("ALTERNATORSTATUS_ITERM", 404, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field ALTERNATORSTATUS_DTERM = Field.create("ALTERNATORSTATUS_DTERM", 406, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field ALTERNATORSTATUS_OUTPUT = Field.create("ALTERNATORSTATUS_OUTPUT", 408, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field ALTERNATORSTATUS_ERROR = Field.create("ALTERNATORSTATUS_ERROR", 410, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field ALTERNATORSTATUS_RESETCOUNTER = Field.create("ALTERNATORSTATUS_RESETCOUNTER", 412, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field IDLESTATUS_PTERM = Field.create("IDLESTATUS_PTERM", 416, FieldType.FLOAT).setBaseOffset(0); - public static final Field IDLESTATUS_ITERM = Field.create("IDLESTATUS_ITERM", 420, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field IDLESTATUS_DTERM = Field.create("IDLESTATUS_DTERM", 422, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field IDLESTATUS_OUTPUT = Field.create("IDLESTATUS_OUTPUT", 424, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field IDLESTATUS_ERROR = Field.create("IDLESTATUS_ERROR", 426, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field IDLESTATUS_RESETCOUNTER = Field.create("IDLESTATUS_RESETCOUNTER", 428, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field ETBSTATUS_PTERM = Field.create("ETBSTATUS_PTERM", 432, FieldType.FLOAT).setBaseOffset(0); - public static final Field ETBSTATUS_ITERM = Field.create("ETBSTATUS_ITERM", 436, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field ETBSTATUS_DTERM = Field.create("ETBSTATUS_DTERM", 438, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field ETBSTATUS_OUTPUT = Field.create("ETBSTATUS_OUTPUT", 440, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field ETBSTATUS_ERROR = Field.create("ETBSTATUS_ERROR", 442, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field ETBSTATUS_RESETCOUNTER = Field.create("ETBSTATUS_RESETCOUNTER", 444, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTSTATUS_PTERM = Field.create("BOOSTSTATUS_PTERM", 448, FieldType.FLOAT).setBaseOffset(0); - public static final Field BOOSTSTATUS_ITERM = Field.create("BOOSTSTATUS_ITERM", 452, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field BOOSTSTATUS_DTERM = Field.create("BOOSTSTATUS_DTERM", 454, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field BOOSTSTATUS_OUTPUT = Field.create("BOOSTSTATUS_OUTPUT", 456, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field BOOSTSTATUS_ERROR = Field.create("BOOSTSTATUS_ERROR", 458, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field BOOSTSTATUS_RESETCOUNTER = Field.create("BOOSTSTATUS_RESETCOUNTER", 460, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field WASTEGATEDCSTATUS_PTERM = Field.create("WASTEGATEDCSTATUS_PTERM", 464, FieldType.FLOAT).setBaseOffset(0); - public static final Field WASTEGATEDCSTATUS_ITERM = Field.create("WASTEGATEDCSTATUS_ITERM", 468, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field WASTEGATEDCSTATUS_DTERM = Field.create("WASTEGATEDCSTATUS_DTERM", 470, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field WASTEGATEDCSTATUS_OUTPUT = Field.create("WASTEGATEDCSTATUS_OUTPUT", 472, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field WASTEGATEDCSTATUS_ERROR = Field.create("WASTEGATEDCSTATUS_ERROR", 474, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field WASTEGATEDCSTATUS_RESETCOUNTER = Field.create("WASTEGATEDCSTATUS_RESETCOUNTER", 476, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field VVTSTATUS1_PTERM = Field.create("VVTSTATUS1_PTERM", 480, FieldType.FLOAT).setBaseOffset(0); - public static final Field VVTSTATUS1_ITERM = Field.create("VVTSTATUS1_ITERM", 484, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS1_DTERM = Field.create("VVTSTATUS1_DTERM", 486, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS1_OUTPUT = Field.create("VVTSTATUS1_OUTPUT", 488, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS1_ERROR = Field.create("VVTSTATUS1_ERROR", 490, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS1_RESETCOUNTER = Field.create("VVTSTATUS1_RESETCOUNTER", 492, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field VVTSTATUS2_PTERM = Field.create("VVTSTATUS2_PTERM", 496, FieldType.FLOAT).setBaseOffset(0); - public static final Field VVTSTATUS2_ITERM = Field.create("VVTSTATUS2_ITERM", 500, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS2_DTERM = Field.create("VVTSTATUS2_DTERM", 502, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS2_OUTPUT = Field.create("VVTSTATUS2_OUTPUT", 504, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS2_ERROR = Field.create("VVTSTATUS2_ERROR", 506, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS2_RESETCOUNTER = Field.create("VVTSTATUS2_RESETCOUNTER", 508, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field VVTSTATUS3_PTERM = Field.create("VVTSTATUS3_PTERM", 512, FieldType.FLOAT).setBaseOffset(0); - public static final Field VVTSTATUS3_ITERM = Field.create("VVTSTATUS3_ITERM", 516, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS3_DTERM = Field.create("VVTSTATUS3_DTERM", 518, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS3_OUTPUT = Field.create("VVTSTATUS3_OUTPUT", 520, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS3_ERROR = Field.create("VVTSTATUS3_ERROR", 522, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS3_RESETCOUNTER = Field.create("VVTSTATUS3_RESETCOUNTER", 524, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field VVTSTATUS4_PTERM = Field.create("VVTSTATUS4_PTERM", 528, FieldType.FLOAT).setBaseOffset(0); - public static final Field VVTSTATUS4_ITERM = Field.create("VVTSTATUS4_ITERM", 532, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS4_DTERM = Field.create("VVTSTATUS4_DTERM", 534, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS4_OUTPUT = Field.create("VVTSTATUS4_OUTPUT", 536, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS4_ERROR = Field.create("VVTSTATUS4_ERROR", 538, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VVTSTATUS4_RESETCOUNTER = Field.create("VVTSTATUS4_RESETCOUNTER", 540, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field AUXSPEED1 = Field.create("AUXSPEED1", 544, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field AUXSPEED2 = Field.create("AUXSPEED2", 546, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field ISSVALUE = Field.create("ISSVALUE", 548, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field RAWANALOGINPUT1 = Field.create("RAWANALOGINPUT1", 550, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field RAWANALOGINPUT2 = Field.create("RAWANALOGINPUT2", 552, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field RAWANALOGINPUT3 = Field.create("RAWANALOGINPUT3", 554, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field RAWANALOGINPUT4 = Field.create("RAWANALOGINPUT4", 556, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field RAWANALOGINPUT5 = Field.create("RAWANALOGINPUT5", 558, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field RAWANALOGINPUT6 = Field.create("RAWANALOGINPUT6", 560, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field RAWANALOGINPUT7 = Field.create("RAWANALOGINPUT7", 562, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field RAWANALOGINPUT8 = Field.create("RAWANALOGINPUT8", 564, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field GPPWMOUTPUT1 = Field.create("GPPWMOUTPUT1", 566, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field GPPWMOUTPUT2 = Field.create("GPPWMOUTPUT2", 567, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field GPPWMOUTPUT3 = Field.create("GPPWMOUTPUT3", 568, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field GPPWMOUTPUT4 = Field.create("GPPWMOUTPUT4", 569, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field GPPWMXAXIS1 = Field.create("GPPWMXAXIS1", 570, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field GPPWMXAXIS2 = Field.create("GPPWMXAXIS2", 572, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field GPPWMXAXIS3 = Field.create("GPPWMXAXIS3", 574, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field GPPWMXAXIS4 = Field.create("GPPWMXAXIS4", 576, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field GPPWMYAXIS1 = Field.create("GPPWMYAXIS1", 578, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field GPPWMYAXIS2 = Field.create("GPPWMYAXIS2", 580, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field GPPWMYAXIS3 = Field.create("GPPWMYAXIS3", 582, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field GPPWMYAXIS4 = Field.create("GPPWMYAXIS4", 584, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field RAWBATTERY = Field.create("RAWBATTERY", 586, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field IGNBLENDPARAMETER1 = Field.create("IGNBLENDPARAMETER1", 588, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDPARAMETER2 = Field.create("IGNBLENDPARAMETER2", 590, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDPARAMETER3 = Field.create("IGNBLENDPARAMETER3", 592, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDPARAMETER4 = Field.create("IGNBLENDPARAMETER4", 594, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field IGNBLENDBIAS1 = Field.create("IGNBLENDBIAS1", 596, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field IGNBLENDBIAS2 = Field.create("IGNBLENDBIAS2", 597, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field IGNBLENDBIAS3 = Field.create("IGNBLENDBIAS3", 598, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field IGNBLENDBIAS4 = Field.create("IGNBLENDBIAS4", 599, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field IGNBLENDOUTPUT1 = Field.create("IGNBLENDOUTPUT1", 600, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field IGNBLENDOUTPUT2 = Field.create("IGNBLENDOUTPUT2", 602, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field IGNBLENDOUTPUT3 = Field.create("IGNBLENDOUTPUT3", 604, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field IGNBLENDOUTPUT4 = Field.create("IGNBLENDOUTPUT4", 606, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VEBLENDPARAMETER1 = Field.create("VEBLENDPARAMETER1", 608, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDPARAMETER2 = Field.create("VEBLENDPARAMETER2", 610, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDPARAMETER3 = Field.create("VEBLENDPARAMETER3", 612, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDPARAMETER4 = Field.create("VEBLENDPARAMETER4", 614, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field VEBLENDBIAS1 = Field.create("VEBLENDBIAS1", 616, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field VEBLENDBIAS2 = Field.create("VEBLENDBIAS2", 617, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field VEBLENDBIAS3 = Field.create("VEBLENDBIAS3", 618, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field VEBLENDBIAS4 = Field.create("VEBLENDBIAS4", 619, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field VEBLENDOUTPUT1 = Field.create("VEBLENDOUTPUT1", 620, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VEBLENDOUTPUT2 = Field.create("VEBLENDOUTPUT2", 622, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VEBLENDOUTPUT3 = Field.create("VEBLENDOUTPUT3", 624, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field VEBLENDOUTPUT4 = Field.create("VEBLENDOUTPUT4", 626, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDPARAMETER1 = Field.create("BOOSTOPENLOOPBLENDPARAMETER1", 628, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDPARAMETER2 = Field.create("BOOSTOPENLOOPBLENDPARAMETER2", 630, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDBIAS1 = Field.create("BOOSTOPENLOOPBLENDBIAS1", 632, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDBIAS2 = Field.create("BOOSTOPENLOOPBLENDBIAS2", 633, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDOUTPUT1 = Field.create("BOOSTOPENLOOPBLENDOUTPUT1", 634, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTOPENLOOPBLENDOUTPUT2 = Field.create("BOOSTOPENLOOPBLENDOUTPUT2", 635, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDPARAMETER1 = Field.create("BOOSTCLOSEDLOOPBLENDPARAMETER1", 636, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDPARAMETER2 = Field.create("BOOSTCLOSEDLOOPBLENDPARAMETER2", 638, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDBIAS1 = Field.create("BOOSTCLOSEDLOOPBLENDBIAS1", 640, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDBIAS2 = Field.create("BOOSTCLOSEDLOOPBLENDBIAS2", 641, FieldType.INT8).setScale(0.5).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDOUTPUT1 = Field.create("BOOSTCLOSEDLOOPBLENDOUTPUT1", 642, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field BOOSTCLOSEDLOOPBLENDOUTPUT2 = Field.create("BOOSTCLOSEDLOOPBLENDOUTPUT2", 644, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_646 = Field.create("ALIGNMENTFILL_AT_646", 646, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field COILSTATE1 = Field.create("COILSTATE1", 648, FieldType.BIT, 0).setBaseOffset(0); - public static final Field COILSTATE2 = Field.create("COILSTATE2", 648, FieldType.BIT, 1).setBaseOffset(0); - public static final Field COILSTATE3 = Field.create("COILSTATE3", 648, FieldType.BIT, 2).setBaseOffset(0); - public static final Field COILSTATE4 = Field.create("COILSTATE4", 648, FieldType.BIT, 3).setBaseOffset(0); - public static final Field COILSTATE5 = Field.create("COILSTATE5", 648, FieldType.BIT, 4).setBaseOffset(0); - public static final Field COILSTATE6 = Field.create("COILSTATE6", 648, FieldType.BIT, 5).setBaseOffset(0); - public static final Field COILSTATE7 = Field.create("COILSTATE7", 648, FieldType.BIT, 6).setBaseOffset(0); - public static final Field COILSTATE8 = Field.create("COILSTATE8", 648, FieldType.BIT, 7).setBaseOffset(0); - public static final Field COILSTATE9 = Field.create("COILSTATE9", 648, FieldType.BIT, 8).setBaseOffset(0); - public static final Field COILSTATE10 = Field.create("COILSTATE10", 648, FieldType.BIT, 9).setBaseOffset(0); - public static final Field COILSTATE11 = Field.create("COILSTATE11", 648, FieldType.BIT, 10).setBaseOffset(0); - public static final Field COILSTATE12 = Field.create("COILSTATE12", 648, FieldType.BIT, 11).setBaseOffset(0); - public static final Field INJECTORSTATE1 = Field.create("INJECTORSTATE1", 648, FieldType.BIT, 12).setBaseOffset(0); - public static final Field INJECTORSTATE2 = Field.create("INJECTORSTATE2", 648, FieldType.BIT, 13).setBaseOffset(0); - public static final Field INJECTORSTATE3 = Field.create("INJECTORSTATE3", 648, FieldType.BIT, 14).setBaseOffset(0); - public static final Field INJECTORSTATE4 = Field.create("INJECTORSTATE4", 648, FieldType.BIT, 15).setBaseOffset(0); - public static final Field INJECTORSTATE5 = Field.create("INJECTORSTATE5", 648, FieldType.BIT, 16).setBaseOffset(0); - public static final Field INJECTORSTATE6 = Field.create("INJECTORSTATE6", 648, FieldType.BIT, 17).setBaseOffset(0); - public static final Field INJECTORSTATE7 = Field.create("INJECTORSTATE7", 648, FieldType.BIT, 18).setBaseOffset(0); - public static final Field INJECTORSTATE8 = Field.create("INJECTORSTATE8", 648, FieldType.BIT, 19).setBaseOffset(0); - public static final Field INJECTORSTATE9 = Field.create("INJECTORSTATE9", 648, FieldType.BIT, 20).setBaseOffset(0); - public static final Field INJECTORSTATE10 = Field.create("INJECTORSTATE10", 648, FieldType.BIT, 21).setBaseOffset(0); - public static final Field INJECTORSTATE11 = Field.create("INJECTORSTATE11", 648, FieldType.BIT, 22).setBaseOffset(0); - public static final Field INJECTORSTATE12 = Field.create("INJECTORSTATE12", 648, FieldType.BIT, 23).setBaseOffset(0); - public static final Field OUTPUTREQUESTPERIOD = Field.create("OUTPUTREQUESTPERIOD", 652, FieldType.INT).setScale(1.0).setBaseOffset(0); - public static final Field MAPFAST = Field.create("MAPFAST", 656, FieldType.FLOAT).setBaseOffset(0); - public static final Field LUAGAUGES1 = Field.create("LUAGAUGES1", 660, FieldType.FLOAT).setBaseOffset(0); - public static final Field LUAGAUGES2 = Field.create("LUAGAUGES2", 664, FieldType.FLOAT).setBaseOffset(0); - public static final Field RAWMAF2 = Field.create("RAWMAF2", 668, FieldType.INT16).setScale(0.001).setBaseOffset(0); - public static final Field MAFMEASURED2 = Field.create("MAFMEASURED2", 670, FieldType.INT16).setScale(0.1).setBaseOffset(0); - public static final Field SCHEDULINGUSEDCOUNT = Field.create("SCHEDULINGUSEDCOUNT", 672, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field GEGO = Field.create("GEGO", 674, FieldType.INT16).setScale(0.01).setBaseOffset(0); - public static final Field TESTBENCHITER = Field.create("TESTBENCHITER", 676, FieldType.INT16).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND1 = Field.create("UNUSEDATTHEEND1", 678, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND2 = Field.create("UNUSEDATTHEEND2", 679, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND3 = Field.create("UNUSEDATTHEEND3", 680, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND4 = Field.create("UNUSEDATTHEEND4", 681, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND5 = Field.create("UNUSEDATTHEEND5", 682, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND6 = Field.create("UNUSEDATTHEEND6", 683, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND7 = Field.create("UNUSEDATTHEEND7", 684, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND8 = Field.create("UNUSEDATTHEEND8", 685, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND9 = Field.create("UNUSEDATTHEEND9", 686, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND10 = Field.create("UNUSEDATTHEEND10", 687, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND11 = Field.create("UNUSEDATTHEEND11", 688, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND12 = Field.create("UNUSEDATTHEEND12", 689, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND13 = Field.create("UNUSEDATTHEEND13", 690, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND14 = Field.create("UNUSEDATTHEEND14", 691, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND15 = Field.create("UNUSEDATTHEEND15", 692, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND16 = Field.create("UNUSEDATTHEEND16", 693, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND17 = Field.create("UNUSEDATTHEEND17", 694, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND18 = Field.create("UNUSEDATTHEEND18", 695, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND19 = Field.create("UNUSEDATTHEEND19", 696, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND20 = Field.create("UNUSEDATTHEEND20", 697, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND21 = Field.create("UNUSEDATTHEEND21", 698, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND22 = Field.create("UNUSEDATTHEEND22", 699, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND23 = Field.create("UNUSEDATTHEEND23", 700, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND24 = Field.create("UNUSEDATTHEEND24", 701, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND25 = Field.create("UNUSEDATTHEEND25", 702, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND26 = Field.create("UNUSEDATTHEEND26", 703, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND27 = Field.create("UNUSEDATTHEEND27", 704, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND28 = Field.create("UNUSEDATTHEEND28", 705, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND29 = Field.create("UNUSEDATTHEEND29", 706, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND30 = Field.create("UNUSEDATTHEEND30", 707, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND31 = Field.create("UNUSEDATTHEEND31", 708, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND32 = Field.create("UNUSEDATTHEEND32", 709, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND33 = Field.create("UNUSEDATTHEEND33", 710, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND34 = Field.create("UNUSEDATTHEEND34", 711, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND35 = Field.create("UNUSEDATTHEEND35", 712, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND36 = Field.create("UNUSEDATTHEEND36", 713, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND37 = Field.create("UNUSEDATTHEEND37", 714, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND38 = Field.create("UNUSEDATTHEEND38", 715, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND39 = Field.create("UNUSEDATTHEEND39", 716, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND40 = Field.create("UNUSEDATTHEEND40", 717, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND41 = Field.create("UNUSEDATTHEEND41", 718, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND42 = Field.create("UNUSEDATTHEEND42", 719, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND43 = Field.create("UNUSEDATTHEEND43", 720, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND44 = Field.create("UNUSEDATTHEEND44", 721, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND45 = Field.create("UNUSEDATTHEEND45", 722, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND46 = Field.create("UNUSEDATTHEEND46", 723, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND47 = Field.create("UNUSEDATTHEEND47", 724, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND48 = Field.create("UNUSEDATTHEEND48", 725, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND49 = Field.create("UNUSEDATTHEEND49", 726, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND50 = Field.create("UNUSEDATTHEEND50", 727, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND51 = Field.create("UNUSEDATTHEEND51", 728, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND52 = Field.create("UNUSEDATTHEEND52", 729, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND53 = Field.create("UNUSEDATTHEEND53", 730, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND54 = Field.create("UNUSEDATTHEEND54", 731, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND55 = Field.create("UNUSEDATTHEEND55", 732, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND56 = Field.create("UNUSEDATTHEEND56", 733, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND57 = Field.create("UNUSEDATTHEEND57", 734, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND58 = Field.create("UNUSEDATTHEEND58", 735, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND59 = Field.create("UNUSEDATTHEEND59", 736, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND60 = Field.create("UNUSEDATTHEEND60", 737, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND61 = Field.create("UNUSEDATTHEEND61", 738, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND62 = Field.create("UNUSEDATTHEEND62", 739, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND63 = Field.create("UNUSEDATTHEEND63", 740, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND64 = Field.create("UNUSEDATTHEEND64", 741, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND65 = Field.create("UNUSEDATTHEEND65", 742, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND66 = Field.create("UNUSEDATTHEEND66", 743, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND67 = Field.create("UNUSEDATTHEEND67", 744, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND68 = Field.create("UNUSEDATTHEEND68", 745, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND69 = Field.create("UNUSEDATTHEEND69", 746, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND70 = Field.create("UNUSEDATTHEEND70", 747, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND71 = Field.create("UNUSEDATTHEEND71", 748, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND72 = Field.create("UNUSEDATTHEEND72", 749, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND73 = Field.create("UNUSEDATTHEEND73", 750, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND74 = Field.create("UNUSEDATTHEEND74", 751, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND75 = Field.create("UNUSEDATTHEEND75", 752, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND76 = Field.create("UNUSEDATTHEEND76", 753, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND77 = Field.create("UNUSEDATTHEEND77", 754, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND78 = Field.create("UNUSEDATTHEEND78", 755, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND79 = Field.create("UNUSEDATTHEEND79", 756, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND80 = Field.create("UNUSEDATTHEEND80", 757, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND81 = Field.create("UNUSEDATTHEEND81", 758, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND82 = Field.create("UNUSEDATTHEEND82", 759, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND83 = Field.create("UNUSEDATTHEEND83", 760, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND84 = Field.create("UNUSEDATTHEEND84", 761, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND85 = Field.create("UNUSEDATTHEEND85", 762, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND86 = Field.create("UNUSEDATTHEEND86", 763, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND87 = Field.create("UNUSEDATTHEEND87", 764, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND88 = Field.create("UNUSEDATTHEEND88", 765, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND89 = Field.create("UNUSEDATTHEEND89", 766, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND90 = Field.create("UNUSEDATTHEEND90", 767, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND91 = Field.create("UNUSEDATTHEEND91", 768, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND92 = Field.create("UNUSEDATTHEEND92", 769, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND93 = Field.create("UNUSEDATTHEEND93", 770, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND94 = Field.create("UNUSEDATTHEEND94", 771, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND95 = Field.create("UNUSEDATTHEEND95", 772, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND96 = Field.create("UNUSEDATTHEEND96", 773, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND97 = Field.create("UNUSEDATTHEEND97", 774, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND98 = Field.create("UNUSEDATTHEEND98", 775, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND99 = Field.create("UNUSEDATTHEEND99", 776, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND100 = Field.create("UNUSEDATTHEEND100", 777, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND101 = Field.create("UNUSEDATTHEEND101", 778, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND102 = Field.create("UNUSEDATTHEEND102", 779, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND103 = Field.create("UNUSEDATTHEEND103", 780, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND104 = Field.create("UNUSEDATTHEEND104", 781, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND105 = Field.create("UNUSEDATTHEEND105", 782, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND106 = Field.create("UNUSEDATTHEEND106", 783, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND107 = Field.create("UNUSEDATTHEEND107", 784, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND108 = Field.create("UNUSEDATTHEEND108", 785, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND109 = Field.create("UNUSEDATTHEEND109", 786, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND110 = Field.create("UNUSEDATTHEEND110", 787, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND111 = Field.create("UNUSEDATTHEEND111", 788, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND112 = Field.create("UNUSEDATTHEEND112", 789, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND113 = Field.create("UNUSEDATTHEEND113", 790, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND114 = Field.create("UNUSEDATTHEEND114", 791, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND115 = Field.create("UNUSEDATTHEEND115", 792, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND116 = Field.create("UNUSEDATTHEEND116", 793, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND117 = Field.create("UNUSEDATTHEEND117", 794, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND118 = Field.create("UNUSEDATTHEEND118", 795, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND119 = Field.create("UNUSEDATTHEEND119", 796, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND120 = Field.create("UNUSEDATTHEEND120", 797, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND121 = Field.create("UNUSEDATTHEEND121", 798, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND122 = Field.create("UNUSEDATTHEEND122", 799, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND123 = Field.create("UNUSEDATTHEEND123", 800, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND124 = Field.create("UNUSEDATTHEEND124", 801, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND125 = Field.create("UNUSEDATTHEEND125", 802, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND126 = Field.create("UNUSEDATTHEEND126", 803, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND127 = Field.create("UNUSEDATTHEEND127", 804, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND128 = Field.create("UNUSEDATTHEEND128", 805, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND129 = Field.create("UNUSEDATTHEEND129", 806, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND130 = Field.create("UNUSEDATTHEEND130", 807, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND131 = Field.create("UNUSEDATTHEEND131", 808, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND132 = Field.create("UNUSEDATTHEEND132", 809, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND133 = Field.create("UNUSEDATTHEEND133", 810, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND134 = Field.create("UNUSEDATTHEEND134", 811, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND135 = Field.create("UNUSEDATTHEEND135", 812, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND136 = Field.create("UNUSEDATTHEEND136", 813, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND137 = Field.create("UNUSEDATTHEEND137", 814, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND138 = Field.create("UNUSEDATTHEEND138", 815, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND139 = Field.create("UNUSEDATTHEEND139", 816, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field UNUSEDATTHEEND140 = Field.create("UNUSEDATTHEEND140", 817, FieldType.INT8).setScale(1.0).setBaseOffset(0); - public static final Field ALIGNMENTFILL_AT_818 = Field.create("ALIGNMENTFILL_AT_818", 818, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TOTALTRIGGERERRORCOUNTER = Field.create("TOTALTRIGGERERRORCOUNTER", 128, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field ORDERINGERRORCOUNTER = Field.create("ORDERINGERRORCOUNTER", 132, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field WARNINGCOUNTER = Field.create("WARNINGCOUNTER", 136, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field LASTERRORCODE = Field.create("LASTERRORCODE", 138, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field RECENTERRORCODE1 = Field.create("RECENTERRORCODE1", 140, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field RECENTERRORCODE2 = Field.create("RECENTERRORCODE2", 142, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field RECENTERRORCODE3 = Field.create("RECENTERRORCODE3", 144, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field RECENTERRORCODE4 = Field.create("RECENTERRORCODE4", 146, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field RECENTERRORCODE5 = Field.create("RECENTERRORCODE5", 148, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field RECENTERRORCODE6 = Field.create("RECENTERRORCODE6", 150, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field RECENTERRORCODE7 = Field.create("RECENTERRORCODE7", 152, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field RECENTERRORCODE8 = Field.create("RECENTERRORCODE8", 154, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field DEBUGFLOATFIELD1 = Field.create("DEBUGFLOATFIELD1", 156, FieldType.FLOAT).setBaseOffset(0); + public static final Field DEBUGFLOATFIELD2 = Field.create("DEBUGFLOATFIELD2", 160, FieldType.FLOAT).setBaseOffset(0); + public static final Field DEBUGFLOATFIELD3 = Field.create("DEBUGFLOATFIELD3", 164, FieldType.FLOAT).setBaseOffset(0); + public static final Field DEBUGFLOATFIELD4 = Field.create("DEBUGFLOATFIELD4", 168, FieldType.FLOAT).setBaseOffset(0); + public static final Field DEBUGFLOATFIELD5 = Field.create("DEBUGFLOATFIELD5", 172, FieldType.FLOAT).setBaseOffset(0); + public static final Field DEBUGFLOATFIELD6 = Field.create("DEBUGFLOATFIELD6", 176, FieldType.FLOAT).setBaseOffset(0); + public static final Field DEBUGFLOATFIELD7 = Field.create("DEBUGFLOATFIELD7", 180, FieldType.FLOAT).setBaseOffset(0); + public static final Field DEBUGINTFIELD1 = Field.create("DEBUGINTFIELD1", 184, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field DEBUGINTFIELD2 = Field.create("DEBUGINTFIELD2", 188, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field DEBUGINTFIELD3 = Field.create("DEBUGINTFIELD3", 192, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field DEBUGINTFIELD4 = Field.create("DEBUGINTFIELD4", 196, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field DEBUGINTFIELD5 = Field.create("DEBUGINTFIELD5", 198, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field EGT1 = Field.create("EGT1", 200, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field EGT2 = Field.create("EGT2", 202, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field EGT3 = Field.create("EGT3", 204, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field EGT4 = Field.create("EGT4", 206, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field EGT5 = Field.create("EGT5", 208, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field EGT6 = Field.create("EGT6", 210, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field EGT7 = Field.create("EGT7", 212, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field EGT8 = Field.create("EGT8", 214, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field RAWTPS1PRIMARY = Field.create("RAWTPS1PRIMARY", 216, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field RAWPPSPRIMARY = Field.create("RAWPPSPRIMARY", 218, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field RAWCLT = Field.create("RAWCLT", 220, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field RAWIAT = Field.create("RAWIAT", 222, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field RAWOILPRESSURE = Field.create("RAWOILPRESSURE", 224, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field FUELCLOSEDLOOPBINIDX = Field.create("FUELCLOSEDLOOPBINIDX", 226, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCUCURRENTGEAR = Field.create("TCUCURRENTGEAR", 227, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field AFRVALUE = Field.create("AFRVALUE", 228, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field VSSACCELERATION = Field.create("VSSACCELERATION", 230, FieldType.INT16).setScale(0.0033333333333333335).setBaseOffset(0); + public static final Field LAMBDAVALUE2 = Field.create("LAMBDAVALUE2", 232, FieldType.INT16).setScale(1.0E-4).setBaseOffset(0); + public static final Field AFRVALUE2 = Field.create("AFRVALUE2", 234, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field VVTPOSITIONB1E = Field.create("VVTPOSITIONB1E", 236, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field VVTPOSITIONB2I = Field.create("VVTPOSITIONB2I", 238, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field VVTPOSITIONB2E = Field.create("VVTPOSITIONB2E", 240, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field FUELPIDCORRECTION1 = Field.create("FUELPIDCORRECTION1", 242, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field FUELPIDCORRECTION2 = Field.create("FUELPIDCORRECTION2", 244, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field RAWTPS1SECONDARY = Field.create("RAWTPS1SECONDARY", 246, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field RAWTPS2PRIMARY = Field.create("RAWTPS2PRIMARY", 248, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field RAWTPS2SECONDARY = Field.create("RAWTPS2SECONDARY", 250, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field ACCELERATIONZ = Field.create("ACCELERATIONZ", 252, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field ACCELERATIONROLL = Field.create("ACCELERATIONROLL", 254, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field ACCELERATIONYAW = Field.create("ACCELERATIONYAW", 256, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTTARGETS1 = Field.create("VVTTARGETS1", 258, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VVTTARGETS2 = Field.create("VVTTARGETS2", 259, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VVTTARGETS3 = Field.create("VVTTARGETS3", 260, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field VVTTARGETS4 = Field.create("VVTTARGETS4", 261, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TURBOSPEED = Field.create("TURBOSPEED", 262, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field IGNITIONADVANCECYL1 = Field.create("IGNITIONADVANCECYL1", 264, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field IGNITIONADVANCECYL2 = Field.create("IGNITIONADVANCECYL2", 266, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field IGNITIONADVANCECYL3 = Field.create("IGNITIONADVANCECYL3", 268, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field IGNITIONADVANCECYL4 = Field.create("IGNITIONADVANCECYL4", 270, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field IGNITIONADVANCECYL5 = Field.create("IGNITIONADVANCECYL5", 272, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field IGNITIONADVANCECYL6 = Field.create("IGNITIONADVANCECYL6", 274, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field IGNITIONADVANCECYL7 = Field.create("IGNITIONADVANCECYL7", 276, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field IGNITIONADVANCECYL8 = Field.create("IGNITIONADVANCECYL8", 278, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field IGNITIONADVANCECYL9 = Field.create("IGNITIONADVANCECYL9", 280, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field IGNITIONADVANCECYL10 = Field.create("IGNITIONADVANCECYL10", 282, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field IGNITIONADVANCECYL11 = Field.create("IGNITIONADVANCECYL11", 284, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field IGNITIONADVANCECYL12 = Field.create("IGNITIONADVANCECYL12", 286, FieldType.INT16).setScale(0.02).setBaseOffset(0); + public static final Field TPS1SPLIT = Field.create("TPS1SPLIT", 288, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field TPS2SPLIT = Field.create("TPS2SPLIT", 290, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field TPS12SPLIT = Field.create("TPS12SPLIT", 292, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field ACCPEDALSPLIT = Field.create("ACCPEDALSPLIT", 294, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field SPARKCUTREASON = Field.create("SPARKCUTREASON", 296, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field FUELCUTREASON = Field.create("FUELCUTREASON", 297, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MAFESTIMATE = Field.create("MAFESTIMATE", 298, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field INSTANTRPM = Field.create("INSTANTRPM", 300, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field RAWMAP = Field.create("RAWMAP", 302, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field RAWAFR = Field.create("RAWAFR", 304, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_306 = Field.create("ALIGNMENTFILL_AT_306", 306, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field CALIBRATIONVALUE2 = Field.create("CALIBRATIONVALUE2", 308, FieldType.FLOAT).setBaseOffset(0); + public static final Field LUAINVOCATIONCOUNTER = Field.create("LUAINVOCATIONCOUNTER", 312, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field LUALASTCYCLEDURATION = Field.create("LUALASTCYCLEDURATION", 316, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field TCU_CURRENTRANGE = Field.create("TCU_CURRENTRANGE", 320, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_321 = Field.create("ALIGNMENTFILL_AT_321", 321, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TCRATIO = Field.create("TCRATIO", 322, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field LASTSHIFTTIME = Field.create("LASTSHIFTTIME", 324, FieldType.FLOAT).setBaseOffset(0); + public static final Field VSSEDGECOUNTER = Field.create("VSSEDGECOUNTER", 328, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field ISSEDGECOUNTER = Field.create("ISSEDGECOUNTER", 332, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field AUXLINEAR1 = Field.create("AUXLINEAR1", 336, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field AUXLINEAR2 = Field.create("AUXLINEAR2", 338, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field FALLBACKMAP = Field.create("FALLBACKMAP", 340, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field INSTANTMAPVALUE = Field.create("INSTANTMAPVALUE", 342, FieldType.INT16).setScale(0.03333333333333333).setBaseOffset(0); + public static final Field MAXLOCKEDDURATION = Field.create("MAXLOCKEDDURATION", 344, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field CANWRITEOK = Field.create("CANWRITEOK", 346, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field CANWRITENOTOK = Field.create("CANWRITENOTOK", 348, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_350 = Field.create("ALIGNMENTFILL_AT_350", 350, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGERPRIMARYFALL = Field.create("TRIGGERPRIMARYFALL", 352, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGERPRIMARYRISE = Field.create("TRIGGERPRIMARYRISE", 356, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGERSECONDARYFALL = Field.create("TRIGGERSECONDARYFALL", 360, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGERSECONDARYRISE = Field.create("TRIGGERSECONDARYRISE", 364, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGERVVTFALL = Field.create("TRIGGERVVTFALL", 368, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field TRIGGERVVTRISE = Field.create("TRIGGERVVTRISE", 372, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field STARTERSTATE = Field.create("STARTERSTATE", 376, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field STARTERRELAYDISABLE = Field.create("STARTERRELAYDISABLE", 377, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field MULTISPARKCOUNTER = Field.create("MULTISPARKCOUNTER", 378, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field EXTIOVERFLOWCOUNT = Field.create("EXTIOVERFLOWCOUNT", 379, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field ALTERNATORSTATUS_PTERM = Field.create("ALTERNATORSTATUS_PTERM", 380, FieldType.FLOAT).setBaseOffset(0); + public static final Field ALTERNATORSTATUS_ITERM = Field.create("ALTERNATORSTATUS_ITERM", 384, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field ALTERNATORSTATUS_DTERM = Field.create("ALTERNATORSTATUS_DTERM", 386, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field ALTERNATORSTATUS_OUTPUT = Field.create("ALTERNATORSTATUS_OUTPUT", 388, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field ALTERNATORSTATUS_ERROR = Field.create("ALTERNATORSTATUS_ERROR", 390, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field ALTERNATORSTATUS_RESETCOUNTER = Field.create("ALTERNATORSTATUS_RESETCOUNTER", 392, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field IDLESTATUS_PTERM = Field.create("IDLESTATUS_PTERM", 396, FieldType.FLOAT).setBaseOffset(0); + public static final Field IDLESTATUS_ITERM = Field.create("IDLESTATUS_ITERM", 400, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field IDLESTATUS_DTERM = Field.create("IDLESTATUS_DTERM", 402, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field IDLESTATUS_OUTPUT = Field.create("IDLESTATUS_OUTPUT", 404, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field IDLESTATUS_ERROR = Field.create("IDLESTATUS_ERROR", 406, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field IDLESTATUS_RESETCOUNTER = Field.create("IDLESTATUS_RESETCOUNTER", 408, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field ETBSTATUS_PTERM = Field.create("ETBSTATUS_PTERM", 412, FieldType.FLOAT).setBaseOffset(0); + public static final Field ETBSTATUS_ITERM = Field.create("ETBSTATUS_ITERM", 416, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field ETBSTATUS_DTERM = Field.create("ETBSTATUS_DTERM", 418, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field ETBSTATUS_OUTPUT = Field.create("ETBSTATUS_OUTPUT", 420, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field ETBSTATUS_ERROR = Field.create("ETBSTATUS_ERROR", 422, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field ETBSTATUS_RESETCOUNTER = Field.create("ETBSTATUS_RESETCOUNTER", 424, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTSTATUS_PTERM = Field.create("BOOSTSTATUS_PTERM", 428, FieldType.FLOAT).setBaseOffset(0); + public static final Field BOOSTSTATUS_ITERM = Field.create("BOOSTSTATUS_ITERM", 432, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field BOOSTSTATUS_DTERM = Field.create("BOOSTSTATUS_DTERM", 434, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field BOOSTSTATUS_OUTPUT = Field.create("BOOSTSTATUS_OUTPUT", 436, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field BOOSTSTATUS_ERROR = Field.create("BOOSTSTATUS_ERROR", 438, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field BOOSTSTATUS_RESETCOUNTER = Field.create("BOOSTSTATUS_RESETCOUNTER", 440, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field WASTEGATEDCSTATUS_PTERM = Field.create("WASTEGATEDCSTATUS_PTERM", 444, FieldType.FLOAT).setBaseOffset(0); + public static final Field WASTEGATEDCSTATUS_ITERM = Field.create("WASTEGATEDCSTATUS_ITERM", 448, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field WASTEGATEDCSTATUS_DTERM = Field.create("WASTEGATEDCSTATUS_DTERM", 450, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field WASTEGATEDCSTATUS_OUTPUT = Field.create("WASTEGATEDCSTATUS_OUTPUT", 452, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field WASTEGATEDCSTATUS_ERROR = Field.create("WASTEGATEDCSTATUS_ERROR", 454, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field WASTEGATEDCSTATUS_RESETCOUNTER = Field.create("WASTEGATEDCSTATUS_RESETCOUNTER", 456, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field VVTSTATUS1_PTERM = Field.create("VVTSTATUS1_PTERM", 460, FieldType.FLOAT).setBaseOffset(0); + public static final Field VVTSTATUS1_ITERM = Field.create("VVTSTATUS1_ITERM", 464, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS1_DTERM = Field.create("VVTSTATUS1_DTERM", 466, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS1_OUTPUT = Field.create("VVTSTATUS1_OUTPUT", 468, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS1_ERROR = Field.create("VVTSTATUS1_ERROR", 470, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS1_RESETCOUNTER = Field.create("VVTSTATUS1_RESETCOUNTER", 472, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field VVTSTATUS2_PTERM = Field.create("VVTSTATUS2_PTERM", 476, FieldType.FLOAT).setBaseOffset(0); + public static final Field VVTSTATUS2_ITERM = Field.create("VVTSTATUS2_ITERM", 480, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS2_DTERM = Field.create("VVTSTATUS2_DTERM", 482, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS2_OUTPUT = Field.create("VVTSTATUS2_OUTPUT", 484, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS2_ERROR = Field.create("VVTSTATUS2_ERROR", 486, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS2_RESETCOUNTER = Field.create("VVTSTATUS2_RESETCOUNTER", 488, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field VVTSTATUS3_PTERM = Field.create("VVTSTATUS3_PTERM", 492, FieldType.FLOAT).setBaseOffset(0); + public static final Field VVTSTATUS3_ITERM = Field.create("VVTSTATUS3_ITERM", 496, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS3_DTERM = Field.create("VVTSTATUS3_DTERM", 498, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS3_OUTPUT = Field.create("VVTSTATUS3_OUTPUT", 500, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS3_ERROR = Field.create("VVTSTATUS3_ERROR", 502, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS3_RESETCOUNTER = Field.create("VVTSTATUS3_RESETCOUNTER", 504, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field VVTSTATUS4_PTERM = Field.create("VVTSTATUS4_PTERM", 508, FieldType.FLOAT).setBaseOffset(0); + public static final Field VVTSTATUS4_ITERM = Field.create("VVTSTATUS4_ITERM", 512, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS4_DTERM = Field.create("VVTSTATUS4_DTERM", 514, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS4_OUTPUT = Field.create("VVTSTATUS4_OUTPUT", 516, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS4_ERROR = Field.create("VVTSTATUS4_ERROR", 518, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VVTSTATUS4_RESETCOUNTER = Field.create("VVTSTATUS4_RESETCOUNTER", 520, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field AUXSPEED1 = Field.create("AUXSPEED1", 524, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field AUXSPEED2 = Field.create("AUXSPEED2", 526, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ISSVALUE = Field.create("ISSVALUE", 528, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field RAWANALOGINPUT1 = Field.create("RAWANALOGINPUT1", 530, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field RAWANALOGINPUT2 = Field.create("RAWANALOGINPUT2", 532, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field RAWANALOGINPUT3 = Field.create("RAWANALOGINPUT3", 534, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field RAWANALOGINPUT4 = Field.create("RAWANALOGINPUT4", 536, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field RAWANALOGINPUT5 = Field.create("RAWANALOGINPUT5", 538, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field RAWANALOGINPUT6 = Field.create("RAWANALOGINPUT6", 540, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field RAWANALOGINPUT7 = Field.create("RAWANALOGINPUT7", 542, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field RAWANALOGINPUT8 = Field.create("RAWANALOGINPUT8", 544, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field GPPWMOUTPUT1 = Field.create("GPPWMOUTPUT1", 546, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field GPPWMOUTPUT2 = Field.create("GPPWMOUTPUT2", 547, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field GPPWMOUTPUT3 = Field.create("GPPWMOUTPUT3", 548, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field GPPWMOUTPUT4 = Field.create("GPPWMOUTPUT4", 549, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field GPPWMXAXIS1 = Field.create("GPPWMXAXIS1", 550, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field GPPWMXAXIS2 = Field.create("GPPWMXAXIS2", 552, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field GPPWMXAXIS3 = Field.create("GPPWMXAXIS3", 554, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field GPPWMXAXIS4 = Field.create("GPPWMXAXIS4", 556, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field GPPWMYAXIS1 = Field.create("GPPWMYAXIS1", 558, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field GPPWMYAXIS2 = Field.create("GPPWMYAXIS2", 560, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field GPPWMYAXIS3 = Field.create("GPPWMYAXIS3", 562, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field GPPWMYAXIS4 = Field.create("GPPWMYAXIS4", 564, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field RAWBATTERY = Field.create("RAWBATTERY", 566, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field IGNBLENDPARAMETER1 = Field.create("IGNBLENDPARAMETER1", 568, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDPARAMETER2 = Field.create("IGNBLENDPARAMETER2", 570, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDPARAMETER3 = Field.create("IGNBLENDPARAMETER3", 572, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDPARAMETER4 = Field.create("IGNBLENDPARAMETER4", 574, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field IGNBLENDBIAS1 = Field.create("IGNBLENDBIAS1", 576, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field IGNBLENDBIAS2 = Field.create("IGNBLENDBIAS2", 577, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field IGNBLENDBIAS3 = Field.create("IGNBLENDBIAS3", 578, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field IGNBLENDBIAS4 = Field.create("IGNBLENDBIAS4", 579, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field IGNBLENDOUTPUT1 = Field.create("IGNBLENDOUTPUT1", 580, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field IGNBLENDOUTPUT2 = Field.create("IGNBLENDOUTPUT2", 582, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field IGNBLENDOUTPUT3 = Field.create("IGNBLENDOUTPUT3", 584, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field IGNBLENDOUTPUT4 = Field.create("IGNBLENDOUTPUT4", 586, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VEBLENDPARAMETER1 = Field.create("VEBLENDPARAMETER1", 588, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDPARAMETER2 = Field.create("VEBLENDPARAMETER2", 590, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDPARAMETER3 = Field.create("VEBLENDPARAMETER3", 592, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDPARAMETER4 = Field.create("VEBLENDPARAMETER4", 594, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field VEBLENDBIAS1 = Field.create("VEBLENDBIAS1", 596, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field VEBLENDBIAS2 = Field.create("VEBLENDBIAS2", 597, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field VEBLENDBIAS3 = Field.create("VEBLENDBIAS3", 598, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field VEBLENDBIAS4 = Field.create("VEBLENDBIAS4", 599, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field VEBLENDOUTPUT1 = Field.create("VEBLENDOUTPUT1", 600, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VEBLENDOUTPUT2 = Field.create("VEBLENDOUTPUT2", 602, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VEBLENDOUTPUT3 = Field.create("VEBLENDOUTPUT3", 604, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field VEBLENDOUTPUT4 = Field.create("VEBLENDOUTPUT4", 606, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDPARAMETER1 = Field.create("BOOSTOPENLOOPBLENDPARAMETER1", 608, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDPARAMETER2 = Field.create("BOOSTOPENLOOPBLENDPARAMETER2", 610, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDBIAS1 = Field.create("BOOSTOPENLOOPBLENDBIAS1", 612, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDBIAS2 = Field.create("BOOSTOPENLOOPBLENDBIAS2", 613, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDOUTPUT1 = Field.create("BOOSTOPENLOOPBLENDOUTPUT1", 614, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTOPENLOOPBLENDOUTPUT2 = Field.create("BOOSTOPENLOOPBLENDOUTPUT2", 615, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDPARAMETER1 = Field.create("BOOSTCLOSEDLOOPBLENDPARAMETER1", 616, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDPARAMETER2 = Field.create("BOOSTCLOSEDLOOPBLENDPARAMETER2", 618, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDBIAS1 = Field.create("BOOSTCLOSEDLOOPBLENDBIAS1", 620, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDBIAS2 = Field.create("BOOSTCLOSEDLOOPBLENDBIAS2", 621, FieldType.INT8).setScale(0.5).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDOUTPUT1 = Field.create("BOOSTCLOSEDLOOPBLENDOUTPUT1", 622, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field BOOSTCLOSEDLOOPBLENDOUTPUT2 = Field.create("BOOSTCLOSEDLOOPBLENDOUTPUT2", 624, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field ALIGNMENTFILL_AT_626 = Field.create("ALIGNMENTFILL_AT_626", 626, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field COILSTATE1 = Field.create("COILSTATE1", 628, FieldType.BIT, 0).setBaseOffset(0); + public static final Field COILSTATE2 = Field.create("COILSTATE2", 628, FieldType.BIT, 1).setBaseOffset(0); + public static final Field COILSTATE3 = Field.create("COILSTATE3", 628, FieldType.BIT, 2).setBaseOffset(0); + public static final Field COILSTATE4 = Field.create("COILSTATE4", 628, FieldType.BIT, 3).setBaseOffset(0); + public static final Field COILSTATE5 = Field.create("COILSTATE5", 628, FieldType.BIT, 4).setBaseOffset(0); + public static final Field COILSTATE6 = Field.create("COILSTATE6", 628, FieldType.BIT, 5).setBaseOffset(0); + public static final Field COILSTATE7 = Field.create("COILSTATE7", 628, FieldType.BIT, 6).setBaseOffset(0); + public static final Field COILSTATE8 = Field.create("COILSTATE8", 628, FieldType.BIT, 7).setBaseOffset(0); + public static final Field COILSTATE9 = Field.create("COILSTATE9", 628, FieldType.BIT, 8).setBaseOffset(0); + public static final Field COILSTATE10 = Field.create("COILSTATE10", 628, FieldType.BIT, 9).setBaseOffset(0); + public static final Field COILSTATE11 = Field.create("COILSTATE11", 628, FieldType.BIT, 10).setBaseOffset(0); + public static final Field COILSTATE12 = Field.create("COILSTATE12", 628, FieldType.BIT, 11).setBaseOffset(0); + public static final Field INJECTORSTATE1 = Field.create("INJECTORSTATE1", 628, FieldType.BIT, 12).setBaseOffset(0); + public static final Field INJECTORSTATE2 = Field.create("INJECTORSTATE2", 628, FieldType.BIT, 13).setBaseOffset(0); + public static final Field INJECTORSTATE3 = Field.create("INJECTORSTATE3", 628, FieldType.BIT, 14).setBaseOffset(0); + public static final Field INJECTORSTATE4 = Field.create("INJECTORSTATE4", 628, FieldType.BIT, 15).setBaseOffset(0); + public static final Field INJECTORSTATE5 = Field.create("INJECTORSTATE5", 628, FieldType.BIT, 16).setBaseOffset(0); + public static final Field INJECTORSTATE6 = Field.create("INJECTORSTATE6", 628, FieldType.BIT, 17).setBaseOffset(0); + public static final Field INJECTORSTATE7 = Field.create("INJECTORSTATE7", 628, FieldType.BIT, 18).setBaseOffset(0); + public static final Field INJECTORSTATE8 = Field.create("INJECTORSTATE8", 628, FieldType.BIT, 19).setBaseOffset(0); + public static final Field INJECTORSTATE9 = Field.create("INJECTORSTATE9", 628, FieldType.BIT, 20).setBaseOffset(0); + public static final Field INJECTORSTATE10 = Field.create("INJECTORSTATE10", 628, FieldType.BIT, 21).setBaseOffset(0); + public static final Field INJECTORSTATE11 = Field.create("INJECTORSTATE11", 628, FieldType.BIT, 22).setBaseOffset(0); + public static final Field INJECTORSTATE12 = Field.create("INJECTORSTATE12", 628, FieldType.BIT, 23).setBaseOffset(0); + public static final Field OUTPUTREQUESTPERIOD = Field.create("OUTPUTREQUESTPERIOD", 632, FieldType.INT).setScale(1.0).setBaseOffset(0); + public static final Field MAPFAST = Field.create("MAPFAST", 636, FieldType.FLOAT).setBaseOffset(0); + public static final Field LUAGAUGES1 = Field.create("LUAGAUGES1", 640, FieldType.FLOAT).setBaseOffset(0); + public static final Field LUAGAUGES2 = Field.create("LUAGAUGES2", 644, FieldType.FLOAT).setBaseOffset(0); + public static final Field RAWMAF2 = Field.create("RAWMAF2", 648, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field MAFMEASURED2 = Field.create("MAFMEASURED2", 650, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field SCHEDULINGUSEDCOUNT = Field.create("SCHEDULINGUSEDCOUNT", 652, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field GEGO = Field.create("GEGO", 654, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field TESTBENCHITER = Field.create("TESTBENCHITER", 656, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field OILTEMP = Field.create("OILTEMP", 658, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field FUELTEMP = Field.create("FUELTEMP", 660, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field AMBIENTTEMP = Field.create("AMBIENTTEMP", 662, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGETEMP = Field.create("COMPRESSORDISCHARGETEMP", 664, FieldType.INT16).setScale(0.01).setBaseOffset(0); + public static final Field COMPRESSORDISCHARGEPRESSURE = Field.create("COMPRESSORDISCHARGEPRESSURE", 666, FieldType.INT16).setScale(0.03333333333333333).setBaseOffset(0); + public static final Field THROTTLEINLETPRESSURE = Field.create("THROTTLEINLETPRESSURE", 668, FieldType.INT16).setScale(0.03333333333333333).setBaseOffset(0); + public static final Field IGNITIONONTIME = Field.create("IGNITIONONTIME", 670, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field ENGINERUNTIME = Field.create("ENGINERUNTIME", 672, FieldType.INT16).setScale(1.0).setBaseOffset(0); + public static final Field DISTANCETRAVELED = Field.create("DISTANCETRAVELED", 674, FieldType.INT16).setScale(0.1).setBaseOffset(0); + public static final Field AFRGASOLINESCALE = Field.create("AFRGASOLINESCALE", 676, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field AFR2GASOLINESCALE = Field.create("AFR2GASOLINESCALE", 678, FieldType.INT16).setScale(0.001).setBaseOffset(0); + public static final Field UNUSEDATTHEEND1 = Field.create("UNUSEDATTHEEND1", 680, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND2 = Field.create("UNUSEDATTHEEND2", 681, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND3 = Field.create("UNUSEDATTHEEND3", 682, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND4 = Field.create("UNUSEDATTHEEND4", 683, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND5 = Field.create("UNUSEDATTHEEND5", 684, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND6 = Field.create("UNUSEDATTHEEND6", 685, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND7 = Field.create("UNUSEDATTHEEND7", 686, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND8 = Field.create("UNUSEDATTHEEND8", 687, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND9 = Field.create("UNUSEDATTHEEND9", 688, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND10 = Field.create("UNUSEDATTHEEND10", 689, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND11 = Field.create("UNUSEDATTHEEND11", 690, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND12 = Field.create("UNUSEDATTHEEND12", 691, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND13 = Field.create("UNUSEDATTHEEND13", 692, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND14 = Field.create("UNUSEDATTHEEND14", 693, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND15 = Field.create("UNUSEDATTHEEND15", 694, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND16 = Field.create("UNUSEDATTHEEND16", 695, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND17 = Field.create("UNUSEDATTHEEND17", 696, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND18 = Field.create("UNUSEDATTHEEND18", 697, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND19 = Field.create("UNUSEDATTHEEND19", 698, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND20 = Field.create("UNUSEDATTHEEND20", 699, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND21 = Field.create("UNUSEDATTHEEND21", 700, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND22 = Field.create("UNUSEDATTHEEND22", 701, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND23 = Field.create("UNUSEDATTHEEND23", 702, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND24 = Field.create("UNUSEDATTHEEND24", 703, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND25 = Field.create("UNUSEDATTHEEND25", 704, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND26 = Field.create("UNUSEDATTHEEND26", 705, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND27 = Field.create("UNUSEDATTHEEND27", 706, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND28 = Field.create("UNUSEDATTHEEND28", 707, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND29 = Field.create("UNUSEDATTHEEND29", 708, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND30 = Field.create("UNUSEDATTHEEND30", 709, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND31 = Field.create("UNUSEDATTHEEND31", 710, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND32 = Field.create("UNUSEDATTHEEND32", 711, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND33 = Field.create("UNUSEDATTHEEND33", 712, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND34 = Field.create("UNUSEDATTHEEND34", 713, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND35 = Field.create("UNUSEDATTHEEND35", 714, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND36 = Field.create("UNUSEDATTHEEND36", 715, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND37 = Field.create("UNUSEDATTHEEND37", 716, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND38 = Field.create("UNUSEDATTHEEND38", 717, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND39 = Field.create("UNUSEDATTHEEND39", 718, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND40 = Field.create("UNUSEDATTHEEND40", 719, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND41 = Field.create("UNUSEDATTHEEND41", 720, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND42 = Field.create("UNUSEDATTHEEND42", 721, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND43 = Field.create("UNUSEDATTHEEND43", 722, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND44 = Field.create("UNUSEDATTHEEND44", 723, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND45 = Field.create("UNUSEDATTHEEND45", 724, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND46 = Field.create("UNUSEDATTHEEND46", 725, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND47 = Field.create("UNUSEDATTHEEND47", 726, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND48 = Field.create("UNUSEDATTHEEND48", 727, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND49 = Field.create("UNUSEDATTHEEND49", 728, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND50 = Field.create("UNUSEDATTHEEND50", 729, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND51 = Field.create("UNUSEDATTHEEND51", 730, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND52 = Field.create("UNUSEDATTHEEND52", 731, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND53 = Field.create("UNUSEDATTHEEND53", 732, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND54 = Field.create("UNUSEDATTHEEND54", 733, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND55 = Field.create("UNUSEDATTHEEND55", 734, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND56 = Field.create("UNUSEDATTHEEND56", 735, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND57 = Field.create("UNUSEDATTHEEND57", 736, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND58 = Field.create("UNUSEDATTHEEND58", 737, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND59 = Field.create("UNUSEDATTHEEND59", 738, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND60 = Field.create("UNUSEDATTHEEND60", 739, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND61 = Field.create("UNUSEDATTHEEND61", 740, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND62 = Field.create("UNUSEDATTHEEND62", 741, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND63 = Field.create("UNUSEDATTHEEND63", 742, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND64 = Field.create("UNUSEDATTHEEND64", 743, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND65 = Field.create("UNUSEDATTHEEND65", 744, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND66 = Field.create("UNUSEDATTHEEND66", 745, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND67 = Field.create("UNUSEDATTHEEND67", 746, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND68 = Field.create("UNUSEDATTHEEND68", 747, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND69 = Field.create("UNUSEDATTHEEND69", 748, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND70 = Field.create("UNUSEDATTHEEND70", 749, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND71 = Field.create("UNUSEDATTHEEND71", 750, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND72 = Field.create("UNUSEDATTHEEND72", 751, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND73 = Field.create("UNUSEDATTHEEND73", 752, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND74 = Field.create("UNUSEDATTHEEND74", 753, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND75 = Field.create("UNUSEDATTHEEND75", 754, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND76 = Field.create("UNUSEDATTHEEND76", 755, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND77 = Field.create("UNUSEDATTHEEND77", 756, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND78 = Field.create("UNUSEDATTHEEND78", 757, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND79 = Field.create("UNUSEDATTHEEND79", 758, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND80 = Field.create("UNUSEDATTHEEND80", 759, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND81 = Field.create("UNUSEDATTHEEND81", 760, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND82 = Field.create("UNUSEDATTHEEND82", 761, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND83 = Field.create("UNUSEDATTHEEND83", 762, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND84 = Field.create("UNUSEDATTHEEND84", 763, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND85 = Field.create("UNUSEDATTHEEND85", 764, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND86 = Field.create("UNUSEDATTHEEND86", 765, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND87 = Field.create("UNUSEDATTHEEND87", 766, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND88 = Field.create("UNUSEDATTHEEND88", 767, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND89 = Field.create("UNUSEDATTHEEND89", 768, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND90 = Field.create("UNUSEDATTHEEND90", 769, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND91 = Field.create("UNUSEDATTHEEND91", 770, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND92 = Field.create("UNUSEDATTHEEND92", 771, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND93 = Field.create("UNUSEDATTHEEND93", 772, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND94 = Field.create("UNUSEDATTHEEND94", 773, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND95 = Field.create("UNUSEDATTHEEND95", 774, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND96 = Field.create("UNUSEDATTHEEND96", 775, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND97 = Field.create("UNUSEDATTHEEND97", 776, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND98 = Field.create("UNUSEDATTHEEND98", 777, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND99 = Field.create("UNUSEDATTHEEND99", 778, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND100 = Field.create("UNUSEDATTHEEND100", 779, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND101 = Field.create("UNUSEDATTHEEND101", 780, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND102 = Field.create("UNUSEDATTHEEND102", 781, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND103 = Field.create("UNUSEDATTHEEND103", 782, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND104 = Field.create("UNUSEDATTHEEND104", 783, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND105 = Field.create("UNUSEDATTHEEND105", 784, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND106 = Field.create("UNUSEDATTHEEND106", 785, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND107 = Field.create("UNUSEDATTHEEND107", 786, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND108 = Field.create("UNUSEDATTHEEND108", 787, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND109 = Field.create("UNUSEDATTHEEND109", 788, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND110 = Field.create("UNUSEDATTHEEND110", 789, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND111 = Field.create("UNUSEDATTHEEND111", 790, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND112 = Field.create("UNUSEDATTHEEND112", 791, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND113 = Field.create("UNUSEDATTHEEND113", 792, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND114 = Field.create("UNUSEDATTHEEND114", 793, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND115 = Field.create("UNUSEDATTHEEND115", 794, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND116 = Field.create("UNUSEDATTHEEND116", 795, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND117 = Field.create("UNUSEDATTHEEND117", 796, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND118 = Field.create("UNUSEDATTHEEND118", 797, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND119 = Field.create("UNUSEDATTHEEND119", 798, FieldType.INT8).setScale(1.0).setBaseOffset(0); + public static final Field UNUSEDATTHEEND120 = Field.create("UNUSEDATTHEEND120", 799, FieldType.INT8).setScale(1.0).setBaseOffset(0); public static final Field[] VALUES = { SD_PRESENT, SD_LOGGING_INTERNAL, @@ -701,8 +677,6 @@ public class TsOutputs { MAPVALUE, BAROPRESSURE, LAMBDAVALUE, - KNOCKRETARD, - ALIGNMENTFILL_AT_37, VBATT, OILPRESSURE, VVTPOSITIONB1I, @@ -727,8 +701,6 @@ public class TsOutputs { FUELFLOWRATE, TPS2VALUE, TUNECRC16, - ALIGNMENTFILL_AT_82, - KNOCKLEVEL, SECONDS, ENGINEMODE, FIRMWAREVERSION, @@ -745,12 +717,12 @@ public class TsOutputs { TCUDESIREDGEAR, FLEXPERCENT, WASTEGATEPOSITIONSENSOR, - ALIGNMENTFILL_AT_122, - TSCONFIGVERSION, + ALIGNMENTFILL_AT_114, CALIBRATIONVALUE, CALIBRATIONMODE, - IDLETARGETPOSITION, - ALIGNMENTFILL_AT_134, + IDLESTEPPERTARGETPOSITION, + ALIGNMENTFILL_AT_122, + TSCONFIGVERSION, TOTALTRIGGERERRORCOUNTER, ORDERINGERRORCOUNTER, WARNINGCOUNTER, @@ -790,18 +762,6 @@ public class TsOutputs { RAWOILPRESSURE, FUELCLOSEDLOOPBINIDX, TCUCURRENTGEAR, - KNOCK1, - KNOCK2, - KNOCK3, - KNOCK4, - KNOCK5, - KNOCK6, - KNOCK7, - KNOCK8, - KNOCK9, - KNOCK10, - KNOCK11, - KNOCK12, AFRVALUE, VSSACCELERATION, LAMBDAVALUE2, @@ -814,7 +774,6 @@ public class TsOutputs { RAWTPS1SECONDARY, RAWTPS2PRIMARY, RAWTPS2SECONDARY, - KNOCKCOUNT, ACCELERATIONZ, ACCELERATIONROLL, ACCELERATIONYAW, @@ -845,11 +804,12 @@ public class TsOutputs { INSTANTRPM, RAWMAP, RAWAFR, + ALIGNMENTFILL_AT_306, CALIBRATIONVALUE2, LUAINVOCATIONCOUNTER, LUALASTCYCLEDURATION, TCU_CURRENTRANGE, - ALIGNMENTFILL_AT_341, + ALIGNMENTFILL_AT_321, TCRATIO, LASTSHIFTTIME, VSSEDGECOUNTER, @@ -861,7 +821,7 @@ public class TsOutputs { MAXLOCKEDDURATION, CANWRITEOK, CANWRITENOTOK, - ALIGNMENTFILL_AT_370, + ALIGNMENTFILL_AT_350, TRIGGERPRIMARYFALL, TRIGGERPRIMARYRISE, TRIGGERSECONDARYFALL, @@ -986,7 +946,7 @@ public class TsOutputs { BOOSTCLOSEDLOOPBLENDBIAS2, BOOSTCLOSEDLOOPBLENDOUTPUT1, BOOSTCLOSEDLOOPBLENDOUTPUT2, - ALIGNMENTFILL_AT_646, + ALIGNMENTFILL_AT_626, COILSTATE1, COILSTATE2, COILSTATE3, @@ -1020,6 +980,17 @@ public class TsOutputs { SCHEDULINGUSEDCOUNT, GEGO, TESTBENCHITER, + OILTEMP, + FUELTEMP, + AMBIENTTEMP, + COMPRESSORDISCHARGETEMP, + COMPRESSORDISCHARGEPRESSURE, + THROTTLEINLETPRESSURE, + IGNITIONONTIME, + ENGINERUNTIME, + DISTANCETRAVELED, + AFRGASOLINESCALE, + AFR2GASOLINESCALE, UNUSEDATTHEEND1, UNUSEDATTHEEND2, UNUSEDATTHEEND3, @@ -1140,26 +1111,5 @@ public class TsOutputs { UNUSEDATTHEEND118, UNUSEDATTHEEND119, UNUSEDATTHEEND120, - UNUSEDATTHEEND121, - UNUSEDATTHEEND122, - UNUSEDATTHEEND123, - UNUSEDATTHEEND124, - UNUSEDATTHEEND125, - UNUSEDATTHEEND126, - UNUSEDATTHEEND127, - UNUSEDATTHEEND128, - UNUSEDATTHEEND129, - UNUSEDATTHEEND130, - UNUSEDATTHEEND131, - UNUSEDATTHEEND132, - UNUSEDATTHEEND133, - UNUSEDATTHEEND134, - UNUSEDATTHEEND135, - UNUSEDATTHEEND136, - UNUSEDATTHEEND137, - UNUSEDATTHEEND138, - UNUSEDATTHEEND139, - UNUSEDATTHEEND140, - ALIGNMENTFILL_AT_818, }; } diff --git a/java_console/models/src/main/java/com/rusefi/core/EngineState.java b/java_console/models/src/main/java/com/rusefi/core/EngineState.java index 7ee6f89b92..08710e3395 100644 --- a/java_console/models/src/main/java/com/rusefi/core/EngineState.java +++ b/java_console/models/src/main/java/com/rusefi/core/EngineState.java @@ -50,22 +50,19 @@ public String toString() { private final Set keys = new TreeSet<>(String.CASE_INSENSITIVE_ORDER); public EngineState(@NotNull final EngineStateListener listener) { - buffer = new ResponseBuffer(new ResponseBuffer.ResponseListener() { - public void onResponse(String response) { - if (response != null) { - // let's remove timestamp if we get content from a log file not controller - int i = response.indexOf(Logger.END_OF_TIMESTAND_TAG); - if (i != -1) - response = response.substring(i + Logger.END_OF_TIMESTAND_TAG.length()); - String copy = response; - listener.beforeLine(response); - while (!response.isEmpty()) - response = handleResponse(response, listener); - listener.afterLine(copy); - } + buffer = new ResponseBuffer(response -> { + if (response != null) { + // let's remove timestamp if we get content from a log file not controller + int i = response.indexOf(Logger.END_OF_TIMESTAND_TAG); + if (i != -1) + response = response.substring(i + Logger.END_OF_TIMESTAND_TAG.length()); + String copy = response; + listener.beforeLine(response); + while (!response.isEmpty()) + response = handleResponse(response, listener); + listener.afterLine(copy); } - } - ); + }); registerStringValueAction(Fields.PROTOCOL_MSG, value -> MessagesCentral.getInstance().postMessage(ENGINE_STATE_CLASS, value)); } @@ -245,12 +242,7 @@ public void processNewData(String append, LinkDecoder decoder) { } public interface ValueCallback { - static final ValueCallback VOID = new ValueCallback() { - @Override - public void onUpdate(Object value) { - - } - }; + ValueCallback VOID = (ValueCallback) value -> { }; void onUpdate(V value); } diff --git a/java_console/models/src/main/java/com/rusefi/core/Sensor.java b/java_console/models/src/main/java/com/rusefi/core/Sensor.java index 171439d9ca..b37516f20a 100644 --- a/java_console/models/src/main/java/com/rusefi/core/Sensor.java +++ b/java_console/models/src/main/java/com/rusefi/core/Sensor.java @@ -2,7 +2,6 @@ import com.rusefi.config.Field; import com.rusefi.config.FieldType; -import com.rusefi.config.generated.Fields; import com.rusefi.config.generated.TsOutputs; import org.jetbrains.annotations.Nullable; diff --git a/java_console/models/src/main/java/com/rusefi/models/Array1D.java b/java_console/models/src/main/java/com/rusefi/models/Array1D.java index a6b8e90190..5298c9ff85 100644 --- a/java_console/models/src/main/java/com/rusefi/models/Array1D.java +++ b/java_console/models/src/main/java/com/rusefi/models/Array1D.java @@ -7,7 +7,7 @@ * 7/14/2015 */ public class Array1D { - private double[] values; + private final double[] values; public Array1D(double[] values) { this.values = values; diff --git a/java_console/models/src/main/java/com/rusefi/models/RpmValue.java b/java_console/models/src/main/java/com/rusefi/models/RpmValue.java index 9516f3d716..2aa5076c96 100644 --- a/java_console/models/src/main/java/com/rusefi/models/RpmValue.java +++ b/java_console/models/src/main/java/com/rusefi/models/RpmValue.java @@ -18,7 +18,7 @@ public int getValue() { } public static RpmValue valueOf(String value) { - return new RpmValue(Integer.valueOf(value)); + return new RpmValue(Integer.parseInt(value)); } @Override diff --git a/java_console/models/src/main/java/com/rusefi/stream/StreamFile.java b/java_console/models/src/main/java/com/rusefi/stream/StreamFile.java index dde1a483b9..ac6be40f2d 100644 --- a/java_console/models/src/main/java/com/rusefi/stream/StreamFile.java +++ b/java_console/models/src/main/java/com/rusefi/stream/StreamFile.java @@ -10,12 +10,7 @@ public abstract class StreamFile { protected Writer writer; public StreamFile() { - Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { - @Override - public void run() { - close(); - } - })); + Runtime.getRuntime().addShutdownHook(new Thread(this::close)); } public abstract void append(List events); diff --git a/java_console/models/src/main/java/com/rusefi/tools/tune/TS2C.java b/java_console/models/src/main/java/com/rusefi/tools/tune/TS2C.java index 36bbccbd18..3cf19873b6 100644 --- a/java_console/models/src/main/java/com/rusefi/tools/tune/TS2C.java +++ b/java_console/models/src/main/java/com/rusefi/tools/tune/TS2C.java @@ -47,7 +47,7 @@ private TS2C(String[] args) throws IOException { IniFileModel model = IniFileModel.getInstance(); String methodName = tableName.equalsIgnoreCase("none") ? loadSectionName : tableName; - methodName = methodName.toUpperCase().substring(0, 1) + methodName.substring(1); + methodName = methodName.toUpperCase().charAt(0) + methodName.substring(1); BufferedWriter w = new BufferedWriter(new FileWriter("generated_" + methodName + ".cpp")); diff --git a/java_console/models/src/main/java/com/rusefi/tracing/Entry.java b/java_console/models/src/main/java/com/rusefi/tracing/Entry.java index 73f87bd4ba..e9ebb46b02 100644 --- a/java_console/models/src/main/java/com/rusefi/tracing/Entry.java +++ b/java_console/models/src/main/java/com/rusefi/tracing/Entry.java @@ -55,7 +55,7 @@ public static int readInt(DataInputStream in) throws IOException { int ch4 = in.read(); if ((ch1 | ch2 | ch3 | ch4) < 0) throw new EOFException(); - return ((ch4 << 24) + (ch3 << 16) + (ch2 << 8) + (ch1 << 0)); + return ((ch4 << 24) + (ch3 << 16) + (ch2 << 8) + ch1); } diff --git a/java_console/models/src/main/java/com/rusefi/waves/EngineChartParser.java b/java_console/models/src/main/java/com/rusefi/waves/EngineChartParser.java index ce04a22666..14dcb632b0 100644 --- a/java_console/models/src/main/java/com/rusefi/waves/EngineChartParser.java +++ b/java_console/models/src/main/java/com/rusefi/waves/EngineChartParser.java @@ -1,7 +1,5 @@ package com.rusefi.waves; -import com.opensr5.Logger; - import java.util.HashMap; import java.util.Map; diff --git a/java_console/models/src/main/java/com/rusefi/waves/EngineReport.java b/java_console/models/src/main/java/com/rusefi/waves/EngineReport.java index 64c872e3bf..63ad14d862 100644 --- a/java_console/models/src/main/java/com/rusefi/waves/EngineReport.java +++ b/java_console/models/src/main/java/com/rusefi/waves/EngineReport.java @@ -25,7 +25,7 @@ public class EngineReport { /** * number of Engine Sniffer ticks per ms */ - public static final double ENGINE_SNIFFER_TICKS_PER_MS = 1000 / Fields.ENGINE_SNIFFER_UNIT_US; + public static final double ENGINE_SNIFFER_TICKS_PER_MS = 1000.0 / Fields.ENGINE_SNIFFER_UNIT_US; public static final double RATIO = 0.05; private final List list; @@ -83,7 +83,7 @@ public int getMinTime() { public int timeToScreen(double time, int width) { // 0 = left side // 1 = right side - double fraction = (time - minTime) * 1.0 / getDuration(); + double fraction = (time - minTime) / getDuration(); // Space to leave on the left side to avoid overlap int offset = 150; diff --git a/java_console/models/src/test/java/com/rusefi/autotune/test/FuelAutoTune2Test.java b/java_console/models/src/test/java/com/rusefi/autotune/test/FuelAutoTune2Test.java deleted file mode 100644 index f90a227b21..0000000000 --- a/java_console/models/src/test/java/com/rusefi/autotune/test/FuelAutoTune2Test.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.rusefi.autotune.test; - -import com.rusefi.autotune.FuelAutoTune2; -import com.rusefi.autotune.Result; -import com.rusefi.autotune.AfrDataPoint; -import org.junit.Test; - -import java.util.ArrayList; -import java.util.List; - -import static com.rusefi.autotune.test.FuelAutoTuneTest.createVeTable; - -/** - * 2/23/2016 - * Andrey Belomutskiy, (c) 2013-2020 - */ -public class FuelAutoTune2Test { - - @Test - public void testAutoTune() { - List dataPoints = new ArrayList<>(); - dataPoints.add(AfrDataPoint.valueOf(13, 1200, 80)); - - { - System.out.println("Running with one datapoint already at target afr"); - Result r = FuelAutoTune2.INSTANCE.process(false, dataPoints, 0.1, 13, createVeTable(1)); - FuelAutoTuneTest.printNotDefault(r.getKgbcRES(), 1); - } - - dataPoints.add(AfrDataPoint.valueOf(13, 1200, 80)); - dataPoints.add(AfrDataPoint.valueOf(14, 1300, 60)); - dataPoints.add(AfrDataPoint.valueOf(15, 1400, 70)); - dataPoints.add(AfrDataPoint.valueOf(16, 1500, 90)); - - for (int i = 0; i < 2000; i++) - dataPoints.add(AfrDataPoint.valueOf(16, 1500 + i, 90)); - - { - System.out.println("Running with more datapoints"); - Result r = FuelAutoTune2.INSTANCE.process(false, dataPoints, 0.01, 13, createVeTable(1)); - FuelAutoTuneTest.printNotDefault(r.getKgbcRES(), 1); - } - - for (int i = 0; i < 2000; i++) - dataPoints.add(AfrDataPoint.valueOf(15, 1500 + i, 90)); - - { - System.out.println("Running with more datapoints"); - Result r = FuelAutoTune2.INSTANCE.process(false, dataPoints, 0.01, 13, createVeTable(1)); - FuelAutoTuneTest.printNotDefault(r.getKgbcRES(), 1); - } - - - // todo: validate results - - } -} diff --git a/java_console/models/src/test/java/com/rusefi/autotune/test/FuelAutoTuneTest.java b/java_console/models/src/test/java/com/rusefi/autotune/test/FuelAutoTuneTest.java deleted file mode 100644 index a9b53ae741..0000000000 --- a/java_console/models/src/test/java/com/rusefi/autotune/test/FuelAutoTuneTest.java +++ /dev/null @@ -1,119 +0,0 @@ -package com.rusefi.autotune.test; - -import com.rusefi.autotune.*; -import com.rusefi.config.generated.Fields; -import org.junit.Test; - -import java.util.ArrayList; -import java.util.List; - -import static org.junit.Assert.assertEquals; - -/** - * 1/5/2016 - * Andrey Belomutskiy, (c) 2013-2020 - */ -public class FuelAutoTuneTest { - private static final double EPS = 0.00001; - - @Test - public void testAlreadyTuned() { - double value = 0.7; - double[][] veTable = createVeTable(value); - List dataPoints = new ArrayList<>(); - - for (int i = 0; i < 200; i++) - dataPoints.add(AfrDataPoint.valueOf(FuelAutoTune._14_7, 1500 + i, 50)); - Result r = FuelAutoTune.INSTANCE.process(false, dataPoints, 0.1, FuelAutoTune._14_7, veTable); - - assertEquals(0, countNotEqual(r.getKgbcRES(), value)); - } - - @Test - public void testOptimizeOneCell() { - - double value = 0.7; - double[][] veTable = createVeTable(value); - List allSamePoints = new ArrayList<>(); - - for (int i = 0; i < 200; i++) - allSamePoints.add(AfrDataPoint.valueOf(10, 1500, 50)); - - Result r = FuelAutoTune.INSTANCE.process(false, allSamePoints, 0.1, FuelAutoTune._14_7, veTable); - - printNotDefault(r.getKgbcRES(), value); - assertEquals(0.5, r.getKgbcRES()[6][3], EPS); - assertEquals(1, countNotEqual(r.getKgbcRES(), value)); - } - - - private int countNotEqual(double[][] array2D, double value) { - int result = 0; - for (double array[] : array2D) { - for (double v : array) - if (v != value) - result++; - } - return result; - } - - - @Test - public void testAutoTune() { - List dataPoints = new ArrayList<>(); - dataPoints.add(AfrDataPoint.valueOf(13, 1200, 80)); - - { - Result r = FuelAutoTune.INSTANCE.process(false, dataPoints, 0.1, 13, createVeTable(1)); - printNotDefault(r.getKgbcRES(), 1); - } - - dataPoints.add(AfrDataPoint.valueOf(13, 1200, 80)); - dataPoints.add(AfrDataPoint.valueOf(14, 1300, 60)); - dataPoints.add(AfrDataPoint.valueOf(15, 1400, 70)); - dataPoints.add(AfrDataPoint.valueOf(16, 1500, 90)); - - for (int i = 0; i < 2000; i++) - dataPoints.add(AfrDataPoint.valueOf(16, 1500 + i, 90)); - - { - Result r = FuelAutoTune.INSTANCE.process(false, dataPoints, 0.01, 13, createVeTable(1)); - printNotDefault(r.getKgbcRES(), 1); - } - - for (int i = 0; i < 2000; i++) - dataPoints.add(AfrDataPoint.valueOf(15, 1500 + i, 90)); - - { - Result r = FuelAutoTune.INSTANCE.process(false, dataPoints, 0.01, 13, createVeTable(1)); - printNotDefault(r.getKgbcRES(), 1); - } - - - // todo: validate results - - } - - /** - * this method prints all values which do not equal default value - */ - static void printNotDefault(double[][] array, double defaultValue) { - for (int i = 0; i < array.length; i++) { - printNotDefault(array[i], i, defaultValue); - } - } - - private static void printNotDefault(double[] array, int index, double defaultValue) { - for (int i = 0; i < array.length; i++) { - if (array[i] != defaultValue) - System.out.println("Found value: x=" + index + " y=" + i + ": " + array[i]); - } - } - - static double[][] createVeTable(double value) { - double veMap[][] = new double[Fields.FUEL_LOAD_COUNT][Fields.FUEL_RPM_COUNT]; - MathUtil.setArray2D(veMap, value); - return veMap; - } - -} diff --git a/java_console/models/src/test/java/com/rusefi/core/test/ResponseBufferTest.java b/java_console/models/src/test/java/com/rusefi/core/test/ResponseBufferTest.java index ed75b41003..b05f175a46 100644 --- a/java_console/models/src/test/java/com/rusefi/core/test/ResponseBufferTest.java +++ b/java_console/models/src/test/java/com/rusefi/core/test/ResponseBufferTest.java @@ -18,11 +18,7 @@ public class ResponseBufferTest { public void testSingleLine() { final AtomicReference currentReference = new AtomicReference<>(); - ResponseBuffer rb = new ResponseBuffer(new ResponseBuffer.ResponseListener() { - public void onResponse(String response) { - currentReference.set(response); - } - }); + ResponseBuffer rb = new ResponseBuffer(currentReference::set); rb.append("\r", LinkDecoder.VOID); assertNull(currentReference.get()); rb.append("\n", LinkDecoder.VOID); diff --git a/java_console/models/src/test/java/com/rusefi/test/TimeBasedBufferTest.java b/java_console/models/src/test/java/com/rusefi/test/TimeBasedBufferTest.java index 03661daca2..1bb4d848a7 100644 --- a/java_console/models/src/test/java/com/rusefi/test/TimeBasedBufferTest.java +++ b/java_console/models/src/test/java/com/rusefi/test/TimeBasedBufferTest.java @@ -7,8 +7,7 @@ import java.util.Arrays; import java.util.concurrent.atomic.AtomicLong; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; public class TimeBasedBufferTest { @Test @@ -41,7 +40,7 @@ protected long currentTimeMillis() { b.add(3); assertEquals(2, b.getSize()); // value for same timestamp is overriden double[] v = b.getValues(); - assertTrue(Arrays.equals(new double[]{2, 3}, v)); + assertArrayEquals(new double[]{2, 3}, v, 0.0); assertEquals(0.707106, DataBuffer.getStandardDeviation(b.getValues()), 0.001); diff --git a/java_console/models/src/test/java/com/rusefi/tracing/test/PerfJsonOutputTest.java b/java_console/models/src/test/java/com/rusefi/tracing/test/PerfJsonOutputTest.java index c1d7a6d02f..0a41557002 100644 --- a/java_console/models/src/test/java/com/rusefi/tracing/test/PerfJsonOutputTest.java +++ b/java_console/models/src/test/java/com/rusefi/tracing/test/PerfJsonOutputTest.java @@ -32,7 +32,6 @@ public void test() throws IOException { ",{\"name\":\"hello2\",\"ph\":\"B\",\"tid\":0,\"pid\":0,\"ts\":0.2}\n" + ",{\"name\":\"hello2\",\"ph\":\"E\",\"tid\":0,\"pid\":0,\"ts\":0.3}\n" + ",{\"name\":\"hello\",\"ph\":\"E\",\"tid\":0,\"pid\":0,\"ts\":0.4}\n" + - "]}", new String(baos.toByteArray())); - + "]}", baos.toString()); } } diff --git a/java_console/shared_io/src/main/java/com/rusefi/core/SignatureHelper.java b/java_console/shared_io/src/main/java/com/rusefi/core/SignatureHelper.java index 6b7c5baf2b..f6f03c287f 100644 --- a/java_console/shared_io/src/main/java/com/rusefi/core/SignatureHelper.java +++ b/java_console/shared_io/src/main/java/com/rusefi/core/SignatureHelper.java @@ -21,7 +21,7 @@ public static Pair getUrl(String signature) { return null; String fileName = s.getHash() + ".ini"; - return new Pair("https://rusefi.com/online/ini/rusefi/" + s.getBranch() + SLASH + s.getYear() + SLASH + + return new Pair<>("https://rusefi.com/online/ini/rusefi/" + s.getBranch() + SLASH + s.getYear() + SLASH + s.getMonth() + SLASH + s.getDay() + SLASH + s.getBundleTarget() + SLASH + diff --git a/java_console/shared_io/src/main/java/com/rusefi/core/io/BundleUtil.java b/java_console/shared_io/src/main/java/com/rusefi/core/io/BundleUtil.java index 18fd8f9973..2418f343d2 100644 --- a/java_console/shared_io/src/main/java/com/rusefi/core/io/BundleUtil.java +++ b/java_console/shared_io/src/main/java/com/rusefi/core/io/BundleUtil.java @@ -3,9 +3,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.io.BufferedReader; -import java.io.FileReader; -import java.io.IOException; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.InvalidPathException; diff --git a/java_console/shared_io/src/main/java/com/rusefi/core/net/ConnectionAndMeta.java b/java_console/shared_io/src/main/java/com/rusefi/core/net/ConnectionAndMeta.java index 1436cd3bad..009e93d1ef 100644 --- a/java_console/shared_io/src/main/java/com/rusefi/core/net/ConnectionAndMeta.java +++ b/java_console/shared_io/src/main/java/com/rusefi/core/net/ConnectionAndMeta.java @@ -72,7 +72,7 @@ public long getLastModified() { public ConnectionAndMeta invoke(String baseUrl) throws IOException { // user can have java with expired certificates or funny proxy, we shall accept any certificate :( - SSLContext ctx = null; + SSLContext ctx; try { ctx = SSLContext.getInstance("TLS"); ctx.init(new KeyManager[0], new TrustManager[]{new AcceptAnyCertificateTrustManager()}, new SecureRandom()); diff --git a/java_console/shared_ui/src/main/java/com/rusefi/ts_plugin/AudioPlayback.java b/java_console/shared_ui/src/main/java/com/rusefi/ts_plugin/AudioPlayback.java deleted file mode 100644 index 91ffd2888e..0000000000 --- a/java_console/shared_ui/src/main/java/com/rusefi/ts_plugin/AudioPlayback.java +++ /dev/null @@ -1,86 +0,0 @@ -package com.rusefi.ts_plugin; - -import javax.sound.sampled.*; -import java.io.IOException; -import java.io.InputStream; -import java.net.ServerSocket; -import java.net.Socket; - -public class AudioPlayback { - private static final int sampleRate = 16000; - - private static final AudioFormat format = new AudioFormat(sampleRate, 16, 1, true, false); - - public AudioPlayback() throws IOException { - ServerSocket serverSocket = new ServerSocket(16000); - - while (true) { - - Socket clientSocket = serverSocket.accept(); - new Thread(() -> { - try { - playSound(clientSocket.getInputStream()); - } catch (IOException e) { - throw new IllegalStateException(e); - } - }).start(); - } - } - - public static void start() { - new Thread(new Runnable() { - @Override - public void run() { - try { - new AudioPlayback(); - } catch (IOException e) { - throw new IllegalStateException(e); - } - } - }).start(); - } - - - private static void playSound(InputStream stream) throws IOException { - while (true) { - byte[] buffer = new byte[30000]; - int got = stream.read(buffer); - - byte copy[] = new byte[got]; - System.arraycopy(buffer, 0, copy, 0, got); - new Thread(new Runnable() { - @Override - public void run() { - toSpeaker(copy); - } - }).start(); - } - } - - public static void toSpeaker(byte soundbytes[]) { - try { - DataLine.Info dataLineInfo = new DataLine.Info(SourceDataLine.class, format); - SourceDataLine sourceDataLine = (SourceDataLine) AudioSystem.getLine(dataLineInfo); - - sourceDataLine.open(format); - - FloatControl volumeControl = (FloatControl) sourceDataLine.getControl(FloatControl.Type.MASTER_GAIN); - volumeControl.setValue(100.0f); - - sourceDataLine.start(); - sourceDataLine.open(format); - - sourceDataLine.start(); - - System.out.println("format? :" + sourceDataLine.getFormat()); - - sourceDataLine.write(soundbytes, 0, soundbytes.length); - System.out.println("Playing " + soundbytes.toString()); - sourceDataLine.drain(); - sourceDataLine.close(); - } catch (Exception e) { - System.out.println("Not working in speakers..."); - e.printStackTrace(); - } - } -} diff --git a/java_console/ui/src/main/java/com/rusefi/ConsoleUI.java b/java_console/ui/src/main/java/com/rusefi/ConsoleUI.java index 3c0497ce18..3bb9ca454a 100644 --- a/java_console/ui/src/main/java/com/rusefi/ConsoleUI.java +++ b/java_console/ui/src/main/java/com/rusefi/ConsoleUI.java @@ -6,7 +6,6 @@ import com.rusefi.io.CommandQueue; import com.rusefi.io.LinkManager; import com.rusefi.io.serial.BaudRateHolder; -import com.rusefi.maintenance.VersionChecker; import com.rusefi.ui.*; import com.rusefi.ui.console.MainFrame; import com.rusefi.ui.console.TabbedPanel; @@ -42,8 +41,6 @@ public class ConsoleUI { protected static final String SPEED_KEY = "speed"; public static EngineSnifferPanel engineSnifferPanel; - static Frame staticFrame; - private final TabbedPanel tabbedPane; private final String port; @@ -54,10 +51,6 @@ public class ConsoleUI { */ private final Map tabSelectedListeners = new HashMap<>(); - public static Frame getFrame() { - return staticFrame; - } - public ConsoleUI(String port) { CommandQueue.ERROR_HANDLER = e -> SwingUtilities.invokeLater(() -> { throw new IllegalStateException("Connectivity error", e); @@ -67,8 +60,7 @@ public ConsoleUI(String port) { tabbedPane = new TabbedPanel(uiContext); this.port = port; MainFrame mainFrame = new MainFrame(this, tabbedPane); - ConsoleUI.staticFrame = mainFrame.getFrame().getFrame(); - setFrameIcon(ConsoleUI.staticFrame); + setFrameIcon(mainFrame.getFrame().getFrame()); log.info("FOME EFI Console " + CONSOLE_VERSION); getConfig().getRoot().setProperty(PORT_KEY, port); @@ -138,7 +130,6 @@ static void startUi(String[] args) throws InterruptedException, InvocationTarget getConfig().load(); Thread.setDefaultUncaughtExceptionHandler(new DefaultExceptionHandler()); - VersionChecker.start(); SwingUtilities.invokeAndWait(() -> awtCode(args)); } diff --git a/java_console/ui/src/main/java/com/rusefi/SensorSnifferCentral.java b/java_console/ui/src/main/java/com/rusefi/SensorSnifferCentral.java index f8a24f8a54..961eedf7b7 100644 --- a/java_console/ui/src/main/java/com/rusefi/SensorSnifferCentral.java +++ b/java_console/ui/src/main/java/com/rusefi/SensorSnifferCentral.java @@ -7,7 +7,7 @@ import java.util.concurrent.CopyOnWriteArrayList; public class SensorSnifferCentral { - private List listeners = new CopyOnWriteArrayList<>(); + private final List listeners = new CopyOnWriteArrayList<>(); public SensorSnifferCentral(LinkManager linkManager) { linkManager.getEngineState().registerStringValueAction(AverageAnglesUtil.KEY, new EngineState.ValueCallback() { diff --git a/java_console/ui/src/main/java/com/rusefi/SerialPortScanner.java b/java_console/ui/src/main/java/com/rusefi/SerialPortScanner.java index 8fa383cf65..31ddf71e57 100644 --- a/java_console/ui/src/main/java/com/rusefi/SerialPortScanner.java +++ b/java_console/ui/src/main/java/com/rusefi/SerialPortScanner.java @@ -1,29 +1,93 @@ package com.rusefi; +import com.devexperts.logging.Logging; +import com.rusefi.autodetect.SerialAutoChecker; +import com.rusefi.binaryprotocol.IncomingDataBuffer; +import com.rusefi.binaryprotocol.IoHelper; +import com.rusefi.config.generated.Fields; +import com.rusefi.io.IoStream; import com.rusefi.io.LinkManager; +import com.rusefi.io.UpdateOperationCallbacks; +import com.rusefi.io.commands.HelloCommand; +import com.rusefi.io.serial.BufferedSerialIoStream; import com.rusefi.io.tcp.TcpConnector; import com.rusefi.maintenance.DfuFlasher; -import com.rusefi.ui.StatusConsumer; import org.jetbrains.annotations.NotNull; +import java.io.IOException; import java.util.*; import java.util.concurrent.CopyOnWriteArrayList; -import static com.rusefi.FileLog.isLinux; - /** * @author Andrey Belomutskiy */ public enum SerialPortScanner { INSTANCE; - private volatile boolean isRunning = true; + private final static Logging log = Logging.getLogging(SerialPortScanner.class); + + public enum SerialPortType { + None(null, 100), + FomeEcu("FOME ECU", 20), + FomeEcuWithOpenblt("FOME ECU w/ BL", 20), + OpenBlt("OpenBLT Bootloader", 10), + Unknown("Unknown", 100), + ; + + public final String friendlyString; + public final int sortOrder; + SerialPortType(String friendlyString, int sortOrder) { + this.friendlyString = friendlyString; + this.sortOrder = sortOrder; + } + } + + public static class PortResult { + public final String port; + public final SerialPortType type; + + public PortResult(String port, SerialPortType type) { + this.port = port; + this.type = type; + } + + @Override + public String toString() { + if (type.friendlyString == null) { + return this.port; + } else { + return this.port + " (" + type.friendlyString + ")"; + } + } + + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + + if (o == null) { + return false; + } + + if (getClass() != o.getClass()) { + return false; + } - static final String AUTO_SERIAL = "Auto Serial"; + PortResult other = (PortResult) o; + + return this.port.equals(other.port) && this.type.equals(other.type); + } + + public boolean isEcu() { + return type == SerialPortType.FomeEcu || type == SerialPortType.FomeEcuWithOpenblt; + } + } + + private volatile boolean isRunning = false; private final Object lock = new Object(); - @NotNull - private AvailableHardware knownHardware = new AvailableHardware(Collections.emptyList(), false); + private AvailableHardware knownHardware = null; private final List listeners = new CopyOnWriteArrayList<>(); @@ -34,29 +98,104 @@ public void addListener(Listener listener) { startTimer(); } + private final static Map portCache = new HashMap<>(); + /** * Find all available serial ports and checks if simulator local TCP port is available */ private void findAllAvailablePorts(boolean includeSlowLookup) { - List ports = new ArrayList<>(); + List ports = new ArrayList<>(); boolean dfuConnected; String[] serialPorts = LinkManager.getCommPorts(); - if (serialPorts.length > 0) - ports.add(AUTO_SERIAL); - ports.addAll(Arrays.asList(serialPorts)); + + int ecuCount = 0; + boolean hasAnyOpenblt = false; + + for (String serialPort : serialPorts) { + // First, check the port cache + if (portCache.containsKey(serialPort)) { + // We've already probed this port - don't re-probe it again + PortResult cached = portCache.get(serialPort); + + if (cached.isEcu()) { + ecuCount++; + } else if (cached.type == SerialPortType.OpenBlt) { + hasAnyOpenblt = true; + } + + ports.add(cached); + } else { + // This one isn't in the cache, probe it to determine what it is + PortResult result; + + log.info("Determining type of serial port: " + serialPort); + + boolean isOpenblt = isPortOpenblt(serialPort); + log.info("Port " + serialPort + (isOpenblt ? " looks like" : " does not look like") + " an OpenBLT bootloader"); + if (isOpenblt) { + result = new PortResult(serialPort, SerialPortType.OpenBlt); + hasAnyOpenblt = true; + } else { + // See if this looks like an ECU + boolean isEcu = isPortFomeEcu(serialPort); + log.info("Port " + serialPort + (isEcu ? " looks like" : " does not look like") + " a FOME ECU"); + if (isEcu) { + boolean ecuHasOpenblt = fomeEcuHasOpenblt(serialPort); + log.info("FOME ECU at " + serialPort + (ecuHasOpenblt ? " has" : " does not have") + " an OpenBLT bootloader"); + result = new PortResult(serialPort, ecuHasOpenblt ? SerialPortType.FomeEcuWithOpenblt : SerialPortType.FomeEcu); + ecuCount++; + } else { + // Dunno what this is, leave it in the list anyway + result = new PortResult(serialPort, SerialPortType.Unknown); + } + } + + log.info("Port " + serialPort + " detected as: " + result.type.friendlyString); + + ports.add(result); + portCache.put(serialPort, result); + } + } + + { + // Clean the port cache of any entries that no longer exist + // If the same port appears later, we want to re-probe it at that time + // In any other scenario, auto could have unexpected behavior for the user + List toRemove = new ArrayList<>(); + for (String x : portCache.keySet()) { + if (Arrays.stream(serialPorts).noneMatch(x::equals)) { + toRemove.add(x); + } + } + + // two steps to avoid ConcurrentModificationException + toRemove.forEach(p -> { + portCache.remove(p); + log.info("Removing port " + p); + }); + } + + boolean hasAnyEcu = ecuCount > 0; + + // Sort ports by their type to put your ECU at the top + ports.sort(Comparator.comparingInt(a -> a.type.sortOrder)); if (includeSlowLookup) { - ports.addAll(TcpConnector.getAvailablePorts()); - dfuConnected = DfuFlasher.detectSTM32BootloaderDriverState(StatusConsumer.VOID); + for (String tcpPort : TcpConnector.getAvailablePorts()) { + ports.add(new PortResult(tcpPort, SerialPortType.FomeEcu)); + hasAnyEcu = true; + } + + dfuConnected = DfuFlasher.detectSTM32BootloaderDriverState(UpdateOperationCallbacks.DUMMY); } else { dfuConnected = false; } boolean isListUpdated; - AvailableHardware currentHardware = new AvailableHardware(ports, dfuConnected); + AvailableHardware currentHardware = new AvailableHardware(ports, dfuConnected, hasAnyEcu, hasAnyOpenblt); synchronized (lock) { - isListUpdated = !knownHardware.equals(currentHardware); + isListUpdated = !currentHardware.equals(knownHardware); knownHardware = currentHardware; } if (isListUpdated) { @@ -65,13 +204,15 @@ private void findAllAvailablePorts(boolean includeSlowLookup) { } } - private void startTimer() { + public void startTimer() { + isRunning = true; Thread portsScanner = new Thread(() -> { boolean isFirstTime = true; while (isRunning) { findAllAvailablePorts(!isFirstTime); isFirstTime = false; try { + //noinspection BusyWait Thread.sleep(300); } catch (InterruptedException e) { throw new IllegalStateException(e); @@ -92,21 +233,20 @@ interface Listener { } public static class AvailableHardware { + private final List ports; + public final boolean dfuFound; + public final boolean hasAnyEcu; + public final boolean hasAnyOpenblt; - private final List ports; - private final boolean dfuFound; - - public AvailableHardware(List ports, boolean dfuFound) { + public AvailableHardware(List ports, boolean dfuFound, boolean hasAnyEcu, boolean hasAnyOpenblt) { this.ports = ports; this.dfuFound = dfuFound; + this.hasAnyEcu = hasAnyEcu; + this.hasAnyOpenblt = hasAnyOpenblt; } @NotNull - public List getKnownPorts() {return new ArrayList<>(ports);} - - public boolean isDfuFound() { - return dfuFound; - } + public List getKnownPorts() {return new ArrayList<>(ports);} @Override public boolean equals(Object o) { @@ -120,4 +260,75 @@ public boolean isEmpty() { return !dfuFound && ports.isEmpty(); } } + + public static boolean isPortFomeEcu(String port) { + try (IoStream stream = BufferedSerialIoStream.openPort(port)) { + String signature = SerialAutoChecker.checkResponse(stream); + + if (signature == null) { + return false; + } + + return signature.contains("FOME"); + } catch (Exception e) { + return false; + } + } + + public static boolean fomeEcuHasOpenblt(String port) { + try (IoStream stream = BufferedSerialIoStream.openPort(port)) { + if (stream == null) { + return false; + } + + IncomingDataBuffer idb = stream.getDataBuffer(); + stream.sendPacket(new byte[]{(byte) Fields.TS_QUERY_BOOTLOADER}); + + byte[] response = stream.getDataBuffer().getPacket(500, "fomeEcuHasOpenblt"); + if (!IoHelper.checkResponseCode(response, (byte) Fields.TS_RESPONSE_OK)) { + // ECU didn't understand request, bootloader certainly not supported + return false; + } + + // Data byte indicates bootloader type + return response[1] == Fields.TS_QUERY_BOOTLOADER_OPENBLT; + } catch (Exception e) { + return false; + } + } + + public static boolean isPortOpenblt(String port) { + try (IoStream stream = BufferedSerialIoStream.openPort(port)) { + if (stream == null) { + return false; + } + + byte[] request = new byte[3]; + request[0] = 2; // packet length + request[1] = (byte) 0xff; // XCPLOADER_CMD_CONNECT + request[2] = 0; // connectMode + + stream.write(request); + + IncomingDataBuffer idb = stream.getDataBuffer(); + + byte responseLength = idb.readByte(250); + + // Invalid length, ignore + if (responseLength != 8) { + return false; + } + + // Read length worth of bytes + byte[] response = new byte[responseLength]; + idb.waitForBytes(100, "isPortOpenblt", System.currentTimeMillis(), responseLength); + idb.read(response); + + // Response packet should start with FF + // Not much else to check, as the rest of the response is protocol settings from the device. + return response[0] == (byte) 0xFF; + } catch (IOException e) { + return false; + } + } } diff --git a/java_console/ui/src/main/java/com/rusefi/StartupFrame.java b/java_console/ui/src/main/java/com/rusefi/StartupFrame.java index 182b8ff8dd..33f1cdce5a 100644 --- a/java_console/ui/src/main/java/com/rusefi/StartupFrame.java +++ b/java_console/ui/src/main/java/com/rusefi/StartupFrame.java @@ -4,9 +4,7 @@ import com.rusefi.autodetect.PortDetector; import com.rusefi.autodetect.SerialAutoChecker; import com.rusefi.core.io.BundleUtil; -import com.rusefi.io.LinkManager; import com.rusefi.io.serial.BaudRateHolder; -import com.rusefi.maintenance.ExecHelper; import com.rusefi.maintenance.ProgramSelector; import com.rusefi.ui.util.HorizontalLine; import com.rusefi.ui.util.URLLabel; @@ -21,8 +19,6 @@ import javax.swing.border.TitledBorder; import java.awt.*; import java.awt.event.*; -import java.io.File; -import java.io.IOException; import java.util.List; import static com.devexperts.logging.Logging.getLogging; @@ -49,7 +45,7 @@ public class StartupFrame { private final JFrame frame; private final JPanel connectPanel = new JPanel(new FlowLayout()); // todo: move this line to the connectPanel - private final JComboBox comboPorts = new JComboBox<>(); + private final JComboBox comboPorts = new JComboBox<>(); private final JPanel leftPanel = new JPanel(new VerticalFlowLayout()); private final JPanel realHardwarePanel = new JPanel(new MigLayout()); @@ -127,11 +123,11 @@ public void keyPressed(KeyEvent e) { ProgramSelector selector = new ProgramSelector(comboPorts); - if (FileLog.isWindows()) { - realHardwarePanel.add(new HorizontalLine(), "right, wrap"); + realHardwarePanel.add(new HorizontalLine(), "right, wrap"); - realHardwarePanel.add(selector.getControl(), "right, wrap"); + realHardwarePanel.add(selector.getControl(), "right, wrap"); + if (FileLog.isWindows()) { // for F7 builds we just build one file at the moment // realHardwarePanel.add(new FirmwareFlasher(FirmwareFlasher.IMAGE_FILE, "ST-LINK Program Firmware", "Default firmware version for most users").getButton()); @@ -194,7 +190,7 @@ public void actionPerformed(ActionEvent e) { } private void applyKnownPorts(SerialPortScanner.AvailableHardware currentHardware) { - List ports = currentHardware.getKnownPorts(); + List ports = currentHardware.getKnownPorts(); log.info("Rendering available ports: " + ports); connectPanel.setVisible(!ports.isEmpty()); noPortsMessage.setVisible(ports.isEmpty()); @@ -235,14 +231,8 @@ private static ImageIcon getBundleIcon() { private void connectButtonAction(JComboBox comboSpeeds) { BaudRateHolder.INSTANCE.baudRate = Integer.parseInt((String) comboSpeeds.getSelectedItem()); - String selectedPort = comboPorts.getSelectedItem().toString(); - if (SerialPortScanner.AUTO_SERIAL.equals(selectedPort)) { - SerialAutoChecker.AutoDetectResult detectResult = PortDetector.autoDetectPort(StartupFrame.this.frame); - String autoDetectedPort = detectResult == null ? null : detectResult.getSerialPort(); - if (autoDetectedPort == null) - return; - selectedPort = autoDetectedPort; - } + String selectedPort = ((SerialPortScanner.PortResult)comboPorts.getSelectedItem()).port; + disposeFrameAndProceed(); new ConsoleUI(selectedPort); } @@ -283,10 +273,12 @@ public void disposeFrameAndProceed() { SerialPortScanner.INSTANCE.stopTimer(); } - private void applyPortSelectionToUIcontrol(List ports) { + private void applyPortSelectionToUIcontrol(List ports) { comboPorts.removeAllItems(); - for (final String port : ports) + for (final SerialPortScanner.PortResult port : ports) { comboPorts.addItem(port); + } + String defaultPort = getConfig().getRoot().getProperty(ConsoleUI.PORT_KEY); comboPorts.setSelectedItem(defaultPort); trueLayout(comboPorts); diff --git a/java_console/ui/src/main/java/com/rusefi/StimulationInputs.java b/java_console/ui/src/main/java/com/rusefi/StimulationInputs.java deleted file mode 100644 index f147083712..0000000000 --- a/java_console/ui/src/main/java/com/rusefi/StimulationInputs.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.rusefi; - -import com.rusefi.ui.util.UiUtils; - -import javax.swing.*; -import java.awt.*; - -/** - * 8/13/14 - * Andrey Belomutskiy, (c) 2013-2020 - */ -/* -public class StimulationInputs { - static final int DEFAULT_RPM_MIN = 800; - static final int DEFAULT_RPM_MAX = 7000; - private final JPanel content = new JPanel(new GridLayout(7, 1)); - - private final JSpinner elResistance2 = new JSpinner(new SpinnerNumberModel(10000, 0, 100000, 1)); - private final ValueRangeControl elRange = new ValueRangeControl("engine load", 1.2, 0.213333, 4.4); - - private final ValueRangeControl rpmRange = new ValueRangeControl("RPM", DEFAULT_RPM_MIN, 413.333374, DEFAULT_RPM_MAX); - private final ValueRangeControl cltRange = new ValueRangeControl("CLR r", 100, 100, 100); - - public StimulationInputs(EcuStimulator ecuStimulator) { - - JPanel channelPanel = new JPanel(new FlowLayout()); - channelPanel.add(new JLabel("Input channel")); - content.add(channelPanel); - - - content.add(rpmRange.getContent()); - content.add(elRange.getContent()); - content.add(cltRange.getContent()); - ValueRangeControl iatRange = new ValueRangeControl("IAT r", 100, 100, 9900); - content.add(iatRange.getContent()); - ValueRangeControl tpsRange = new ValueRangeControl("TPS", 1, 0.1, 4.5); - content.add(tpsRange.getContent()); - - content.add(new JLabel("EL resistance")); - content.add(UiUtils.wrap(elResistance2)); - - JButton button = ecuStimulator.createButton(); - content.add(UiUtils.wrap(button)); - } - - public double getEngineLoadMin() { - return elRange.getFrom(); - } - - public double getEngineLoadMax() { - return elRange.getTo(); - } - - public double getRpmFrom() { - return (int) rpmRange.getFrom(); - } - - public double getRpmTo() { - return (int) rpmRange.getTo(); - } - - public double getRpmStep() { - return rpmRange.getStep(); - } - - public int getCltFrom() { - return (int) cltRange.getFrom(); - } - - public int getCltTo() { - return (int) cltRange.getTo(); - } - - public JPanel getContent() { - return content; - } - - public double getEngineLoadR2Resistance() { - return (Integer) elResistance2.getValue(); - } - - public double getEngineLoadStep() { - return elRange.getStep(); - } -} - -*/ \ No newline at end of file diff --git a/java_console/ui/src/main/java/com/rusefi/UploadChanges.java b/java_console/ui/src/main/java/com/rusefi/UploadChanges.java deleted file mode 100644 index ccb6aa93a1..0000000000 --- a/java_console/ui/src/main/java/com/rusefi/UploadChanges.java +++ /dev/null @@ -1,136 +0,0 @@ -package com.rusefi; - -import com.opensr5.ConfigurationImage; -import com.rusefi.ui.StatusWindow; -import com.rusefi.ui.UIContext; - -import javax.swing.*; -import java.awt.*; -import java.io.IOException; -import java.lang.reflect.InvocationTargetException; - -/** - * Andrey Belomutskiy, (c) 2013-2020 - * 3/7/2015 - */ -public class UploadChanges { - //public static final Logger logger = createUiLogger(); - - public static void main(String[] args) throws InvocationTargetException, InterruptedException { - - StatusWindow wnd = new StatusWindow(); - - wnd.getFrame().setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE); - wnd.getFrame().setTitle("rusEfi bin upload"); - wnd.getFrameHelper().initFrame(wnd.getContent(), false); - - JPanel bottomPanel = new JPanel(new FlowLayout()); -// bottomPanel.add(RecentCommands.createButton(new AtomicBoolean(), Fields.CMD_WRITECONFIG)); - wnd.getContent().add(bottomPanel, BorderLayout.SOUTH); - - if (args.length != 1) { - System.out.println("Exactly one parameter expected"); - return; - } - - final String port = args[0]; - SwingUtilities.invokeAndWait(new Runnable() { - @Override - public void run() { - try { - showUi(port); - } catch (IOException | InterruptedException e) { - throw new IllegalStateException(e); - } - } - }); - } - - private static void showUi(String port) throws IOException, InterruptedException { -/* - SerialPort serialPort; - - serialPort = new SerialPort(port); - boolean opened = serialPort.openPort(); - if (!opened) { - logger.error("failed to open " + port); - } - SerialIoStreamJSSC.setupPort(serialPort, 38400); - logger.info("Configuration looks good!"); - - final ConfigurationImage ci1 = ConfigurationImageFile.readFromFile("rus_saved.bin"); - - final ConfigurationImage ci2 = ConfigurationImageFile.readFromFile("rusefi_configuration.bin"); - - final BinaryProtocol bp = BinaryProtocolHolder.getInstance().create(logger, new SerialIoStreamJSSC(serialPort, logger)); - bp.setController(ci1); - - scheduleUpload(ci2); - - */ - } - - /* - public static void scheduleUpload(UIContext uiContext, final ConfigurationImage newVersion) { - scheduleUpload(uiContext, newVersion, null); - } -*/ - public static void scheduleUpload(UIContext uiContext, final ConfigurationImage newVersion, final Runnable afterUpload) { - if (1 == 1) - throw new UnsupportedOperationException("disabled"); - JFrame frame = null;//wnd.getFrame(); - frame.setVisible(true); - uiContext.getLinkManager().execute(new Runnable() { - @Override - public void run() { - uiContext.getLinkManager().getCurrentStreamState().uploadChanges(newVersion); - if (afterUpload != null) - afterUpload.run(); - } - - @Override - public String toString() { - return "Runnable for burn"; - } - }); - } - -/* - private static Logger createUiLogger() { - return new Logger() { - @Override - public void trace(final String msg) { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { -// System.out.println(msg); -// wnd.append(msg); - } - }); - } - - @Override - public void info(final String msg) { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - System.out.println(msg); - wnd.append(msg); - } - }); - } - - @Override - public void error(final String msg) { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - System.out.println(msg); - wnd.append(msg); - } - }); - } - }; - } -*/ -} diff --git a/java_console/ui/src/main/java/com/rusefi/logic/test/IgnitionMapBuilderTest.java b/java_console/ui/src/main/java/com/rusefi/logic/test/IgnitionMapBuilderTest.java index e43cbde50f..84f6a08020 100644 --- a/java_console/ui/src/main/java/com/rusefi/logic/test/IgnitionMapBuilderTest.java +++ b/java_console/ui/src/main/java/com/rusefi/logic/test/IgnitionMapBuilderTest.java @@ -1,6 +1,5 @@ package com.rusefi.logic.test; -import com.rusefi.logic.IgnitionMapBuilder; import org.junit.Test; import static com.rusefi.logic.IgnitionMapBuilder.*; diff --git a/java_console/ui/src/main/java/com/rusefi/maintenance/DfuFlasher.java b/java_console/ui/src/main/java/com/rusefi/maintenance/DfuFlasher.java index 792097875f..4f85efdaf7 100644 --- a/java_console/ui/src/main/java/com/rusefi/maintenance/DfuFlasher.java +++ b/java_console/ui/src/main/java/com/rusefi/maintenance/DfuFlasher.java @@ -5,12 +5,12 @@ import com.rusefi.Timeouts; import com.rusefi.autodetect.PortDetector; import com.rusefi.autodetect.SerialAutoChecker; +import com.rusefi.config.generated.Fields; import com.rusefi.core.io.BundleUtil; import com.rusefi.io.DfuHelper; import com.rusefi.io.IoStream; +import com.rusefi.io.UpdateOperationCallbacks; import com.rusefi.io.serial.BufferedSerialIoStream; -import com.rusefi.ui.StatusConsumer; -import com.rusefi.ui.StatusWindow; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -20,12 +20,8 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicReference; -import java.util.function.Function; - -import static com.rusefi.StartupFrame.appendBundleName; /** * @see FirmwareFlasher @@ -34,16 +30,12 @@ public class DfuFlasher { private static final String DFU_BINARY_LOCATION = Launcher.TOOLS_PATH + File.separator + "STM32_Programmer_CLI/bin"; private static final String DFU_BINARY = "STM32_Programmer_CLI.exe"; private static final String WMIC_DFU_QUERY_COMMAND = "wmic path win32_pnpentity where \"Caption like '%STM32%' and Caption like '%Bootloader%'\" get Caption,ConfigManagerErrorCode /format:list"; - private static final String WMIC_STLINK_QUERY_COMMAND = "wmic path win32_pnpentity where \"Caption like '%STLink%'\" get Caption,ConfigManagerErrorCode /format:list"; - public static void doAutoDfu(Object selectedItem, JComponent parent) { - if (selectedItem == null) { + public static void doAutoDfu(JComponent parent, String port, UpdateOperationCallbacks callbacks) { + if (port == null) { JOptionPane.showMessageDialog(parent, "Failed to locate serial ports"); return; } - String port = selectedItem.toString(); - - StatusWindow wnd = createStatusWindow(); boolean needsEraseFirst = false; if (BundleUtil.getBundleTarget().contains("f7")) { @@ -57,23 +49,23 @@ public static void doAutoDfu(Object selectedItem, JComponent parent) { needsEraseFirst = true; } - AtomicBoolean isSignatureValidated = rebootToDfu(parent, port, wnd); + AtomicBoolean isSignatureValidated = rebootToDfu(parent, port, callbacks, Fields.CMD_REBOOT_DFU); if (isSignatureValidated == null) return; if (isSignatureValidated.get()) { if (!ProgramSelector.IS_WIN) { - wnd.append("Switched to DFU mode!"); - wnd.append("FOME console can only program on Windows"); + callbacks.log("Switched to DFU mode!"); + callbacks.log("FOME console can only program on Windows"); return; } boolean finalNeedsEraseFirst = needsEraseFirst; submitAction(() -> { - timeForDfuSwitch(wnd); - executeDFU(wnd, finalNeedsEraseFirst); + timeForDfuSwitch(callbacks); + executeDFU(callbacks, finalNeedsEraseFirst); }); } else { - wnd.append("Please use manual DFU to change bundle type."); + callbacks.log("Please use manual DFU to change bundle type."); } } @@ -82,85 +74,74 @@ private static void submitAction(Runnable r) { } @Nullable - public static AtomicBoolean rebootToDfu(JComponent parent, String port, StatusWindow wnd) { + public static AtomicBoolean rebootToDfu(JComponent parent, String port, UpdateOperationCallbacks callbacks, String command) { AtomicBoolean isSignatureValidated = new AtomicBoolean(true); if (!PortDetector.isAutoPort(port)) { - wnd.append("Using selected " + port + "\n"); + callbacks.log("Using selected " + port + "\n"); IoStream stream = BufferedSerialIoStream.openPort(port); AtomicReference signature = new AtomicReference<>(); - new SerialAutoChecker(PortDetector.DetectorMode.DETECT_TS, port, new CountDownLatch(1)).checkResponse(stream, new Function() { - @Override - public Void apply(SerialAutoChecker.CallbackContext callbackContext) { - signature.set(callbackContext.getSignature()); - return null; - } - }); + signature.set(SerialAutoChecker.checkResponse(stream)); if (signature.get() == null) { - wnd.append("*** ERROR *** FOME has not responded on selected " + port + "\n" + + callbacks.log("*** ERROR *** FOME has not responded on selected " + port + "\n" + "Maybe try automatic serial port detection?"); - wnd.setErrorState(); + callbacks.error(); return null; } - boolean isSignatureValidatedLocal = DfuHelper.sendDfuRebootCommand(parent, signature.get(), stream, wnd); + boolean isSignatureValidatedLocal = DfuHelper.sendDfuRebootCommand(parent, signature.get(), stream, callbacks, command); isSignatureValidated.set(isSignatureValidatedLocal); } else { - wnd.append("Auto-detecting port...\n"); + callbacks.log("Auto-detecting port...\n"); // instead of opening the just-detected port we execute the command using the same stream we used to discover port // it's more reliable this way - // ISSUE: that's blocking stuff on UI thread at the moment, TODO smarter threading! port = PortDetector.autoDetectSerial(callbackContext -> { - boolean isSignatureValidatedLocal = DfuHelper.sendDfuRebootCommand(parent, callbackContext.getSignature(), callbackContext.getStream(), wnd); + boolean isSignatureValidatedLocal = DfuHelper.sendDfuRebootCommand(parent, callbackContext.getSignature(), callbackContext.getStream(), callbacks, command); isSignatureValidated.set(isSignatureValidatedLocal); return null; }).getSerialPort(); if (port == null) { - wnd.append("*** ERROR *** FOME serial port not detected"); - wnd.setErrorState(); + callbacks.log("*** ERROR *** FOME serial port not detected"); + callbacks.error(); return null; } else { - wnd.append("Detected FOME on " + port + "\n"); + callbacks.log("Detected FOME on " + port + "\n"); } } return isSignatureValidated; } - @NotNull - protected static StatusWindow createStatusWindow() { - StatusWindow wnd = new StatusWindow(); - wnd.showFrame(appendBundleName("DFU status " + Launcher.CONSOLE_VERSION)); - return wnd; - } - - public static void runDfuErase() { - StatusWindow wnd = createStatusWindow(); + public static void runDfuEraseAsync(UpdateOperationCallbacks callbacks) { submitAction(() -> { - runDfuErase(wnd); + runDfuErase(callbacks); // it's a lengthy operation let's signal end Toolkit.getDefaultToolkit().beep(); }); } - private static void runDfuErase(StatusWindow wnd) { - ExecHelper.executeCommand(DFU_BINARY_LOCATION, - getDfuEraseCommand(), - DFU_BINARY, wnd, new StringBuffer()); + private static void runDfuErase(UpdateOperationCallbacks callbacks) { + try { + ExecHelper.executeCommand(DFU_BINARY_LOCATION, + getDfuEraseCommand(), + DFU_BINARY, callbacks); + } catch (FileNotFoundException e) { + callbacks.log(e.toString()); + callbacks.error(); + } } - public static void runDfuProgramming() { - StatusWindow wnd = createStatusWindow(); - submitAction(() -> executeDFU(wnd, false)); + public static void runDfuProgramming(UpdateOperationCallbacks callbacks) { + submitAction(() -> executeDFU(callbacks, false)); } - private static void executeDFU(StatusWindow wnd, boolean fullErase) { - boolean driverIsHappy = detectSTM32BootloaderDriverState(wnd); + private static void executeDFU(UpdateOperationCallbacks callbacks, boolean fullErase) { + boolean driverIsHappy = detectSTM32BootloaderDriverState(callbacks); if (!driverIsHappy) { - wnd.append("*** DRIVER ERROR? *** Did you have a chance to try 'Install Drivers' button on top of FOME console start screen?"); - wnd.setErrorState(); + callbacks.log("*** DRIVER ERROR? *** Did you have a chance to try 'Install Drivers' button on top of FOME console start screen?"); + callbacks.error(); return; } if (fullErase) { - runDfuErase(wnd); + runDfuErase(callbacks); } StringBuffer stdout = new StringBuffer(); @@ -168,65 +149,66 @@ private static void executeDFU(StatusWindow wnd, boolean fullErase) { try { errorResponse = ExecHelper.executeCommand(DFU_BINARY_LOCATION, getDfuWriteCommand(), - DFU_BINARY, wnd, stdout); + DFU_BINARY, callbacks, stdout); } catch (FileNotFoundException e) { - wnd.append("ERROR: " + e); - wnd.setErrorState(); + callbacks.log("ERROR: " + e); + callbacks.error(); return; } + if (stdout.toString().contains("Download verified successfully")) { // looks like sometimes we are not catching the last line of the response? 'Upgrade' happens before 'Verify' - wnd.append("SUCCESS!"); - wnd.append("Please power cycle device to exit DFU mode"); - wnd.setSuccessState(); + callbacks.log("SUCCESS!"); + callbacks.log("Please power cycle device to exit DFU mode"); + callbacks.done(); } else if (stdout.toString().contains("Target device not found")) { - wnd.append("ERROR: Device not connected or STM32 Bootloader driver not installed?"); - appendWindowsVersion(wnd); - wnd.append("ERROR: Please try installing drivers using 'Install Drivers' button on FOME splash screen"); - wnd.append("ERROR: Alternatively please install drivers using Device Manager pointing at 'drivers/silent_st_drivers/DFU_Driver' folder"); - appendDeviceReport(wnd); - wnd.setErrorState(); + callbacks.log("ERROR: Device not connected or STM32 Bootloader driver not installed?"); + appendWindowsVersion(callbacks); + callbacks.log("ERROR: Please try installing drivers using 'Install Drivers' button on FOME splash screen"); + callbacks.log("ERROR: Alternatively please install drivers using Device Manager pointing at 'drivers/silent_st_drivers/DFU_Driver' folder"); + callbacks.error(); + appendDeviceReport(callbacks); } else { - wnd.append(stdout.length() + " / " + errorResponse.length()); - appendWindowsVersion(wnd); - appendDeviceReport(wnd); - wnd.setErrorState(); + appendWindowsVersion(callbacks); + appendDeviceReport(callbacks); + callbacks.log(stdout.length() + " / " + errorResponse.length()); + callbacks.error(); } } - public static boolean detectSTM32BootloaderDriverState(StatusConsumer wnd) { - return detectDevice(wnd, WMIC_DFU_QUERY_COMMAND, "ConfigManagerErrorCode=0"); + public static boolean detectSTM32BootloaderDriverState(UpdateOperationCallbacks callbacks) { + return detectDevice(callbacks, WMIC_DFU_QUERY_COMMAND, "ConfigManagerErrorCode=0"); } - private static boolean detectDevice(StatusConsumer wnd, String queryCommand, String pattern) { + private static boolean detectDevice(UpdateOperationCallbacks callbacks, String queryCommand, String pattern) { // long now = System.currentTimeMillis(); StringBuffer output = new StringBuffer(); StringBuffer error = new StringBuffer(); - ExecHelper.executeCommand(queryCommand, wnd, output, error, null); - wnd.append(output.toString()); - wnd.append(error.toString()); + ExecHelper.executeCommand(queryCommand, callbacks, output, error, null); + callbacks.log(output.toString()); + callbacks.log(error.toString()); // long cost = System.currentTimeMillis() - now; // System.out.println("DFU lookup cost " + cost + "ms"); return output.toString().contains(pattern); } - private static void appendWindowsVersion(StatusWindow wnd) { - wnd.append("ERROR: does not look like DFU has worked!"); + private static void appendWindowsVersion(UpdateOperationCallbacks callbacks) { + callbacks.log("ERROR: does not look like DFU has worked!"); } - private static void appendDeviceReport(StatusWindow wnd) { + private static void appendDeviceReport(UpdateOperationCallbacks callbacks) { for (String line : getDevicesReport()) { if (line.contains("STM Device in DFU Mode")) { - wnd.append(" ******************************************************************"); - wnd.append(" ************* YOU NEED TO REMOVE LEGACY DFU DRIVER ***************"); - wnd.append(" ******************************************************************"); + callbacks.log(" ******************************************************************"); + callbacks.log(" ************* YOU NEED TO REMOVE LEGACY DFU DRIVER ***************"); + callbacks.log(" ******************************************************************"); } - wnd.append("Devices: " + line); + callbacks.log("Devices: " + line); } } - private static void timeForDfuSwitch(StatusWindow wnd) { - wnd.append("Giving time for USB enumeration..."); + private static void timeForDfuSwitch(UpdateOperationCallbacks callbacks) { + callbacks.log("Giving time for USB enumeration..."); try { // two seconds not enough on my Windows 10 Thread.sleep(3 * Timeouts.SECOND); diff --git a/java_console/ui/src/main/java/com/rusefi/maintenance/ExecHelper.java b/java_console/ui/src/main/java/com/rusefi/maintenance/ExecHelper.java index 04c6a88a6a..83f06cf3dd 100644 --- a/java_console/ui/src/main/java/com/rusefi/maintenance/ExecHelper.java +++ b/java_console/ui/src/main/java/com/rusefi/maintenance/ExecHelper.java @@ -1,7 +1,7 @@ package com.rusefi.maintenance; import com.devexperts.util.TimeUtil; -import com.rusefi.ui.StatusConsumer; +import com.rusefi.io.UpdateOperationCallbacks; import org.jetbrains.annotations.NotNull; import java.io.*; @@ -25,7 +25,7 @@ private static boolean isRunning(Process p) { * This method listens to a data stream from the process, appends messages to UI * and accumulates output in a buffer */ - private static void startStreamThread(final Process p, final InputStream stream, final StringBuffer buffer, final StatusConsumer wnd) { + private static void startStreamThread(final Process p, final InputStream stream, final StringBuffer buffer, final UpdateOperationCallbacks callbacks) { final Thread t = new Thread(() -> { try { BufferedReader bis = new BufferedReader(new InputStreamReader(stream, StandardCharsets.ISO_8859_1)); @@ -34,16 +34,17 @@ private static void startStreamThread(final Process p, final InputStream stream, * TODO: are we supposed to just NOT check process status and just wait for 'null' from readLine? */ long wasRunningTime = System.currentTimeMillis(); - while (isRunning(p) || (System.currentTimeMillis() - wasRunningTime) < 0.5 * TimeUtil.SECOND) { + while (isRunning(p) || (System.currentTimeMillis() - wasRunningTime) < 0.1 * TimeUtil.SECOND) { String line = bis.readLine(); if (line == null) break; - wnd.append(line); + callbacks.log(line); buffer.append(line); wasRunningTime = System.currentTimeMillis(); } } catch (IOException e) { - wnd.append("Stream " + e); + callbacks.log("Stream " + e); + callbacks.error(); } }); t.setDaemon(true); @@ -51,8 +52,8 @@ private static void startStreamThread(final Process p, final InputStream stream, } @NotNull - public static String executeCommand(String workingDirPath, String command, String binaryRelativeName, StatusConsumer wnd) { - return executeCommand(workingDirPath, command, binaryRelativeName, wnd, new StringBuffer()); + public static String executeCommand(String workingDirPath, String command, String binaryRelativeName, UpdateOperationCallbacks callbacks) throws FileNotFoundException { + return executeCommand(workingDirPath, command, binaryRelativeName, callbacks, new StringBuffer()); } /** @@ -60,32 +61,34 @@ public static String executeCommand(String workingDirPath, String command, Strin * @return stderr of invoked command */ @NotNull - public static String executeCommand(String workingDirPath, String command, String binaryRelativeName, StatusConsumer wnd, StringBuffer output) { + public static String executeCommand(String workingDirPath, String command, String binaryRelativeName, UpdateOperationCallbacks callbacks, StringBuffer output) throws FileNotFoundException { StringBuffer error = new StringBuffer(); String binaryFullName = workingDirPath + File.separator + binaryRelativeName; if (!new File(binaryFullName).exists()) { - wnd.append(binaryFullName + " not found :("); - return error.toString(); + callbacks.log(binaryFullName + " not found :("); + throw new FileNotFoundException(binaryFullName); } File workingDir = new File(workingDirPath); - return executeCommand(command, wnd, output, error, workingDir); + return executeCommand(command, callbacks, output, error, workingDir); } @NotNull - public static String executeCommand(String command, StatusConsumer wnd, StringBuffer output, StringBuffer error, File workingDir) { - wnd.append("Executing " + command); + public static String executeCommand(String command, UpdateOperationCallbacks callbacks, StringBuffer output, StringBuffer error, File workingDir) { + callbacks.log("Executing " + command); try { Process p = Runtime.getRuntime().exec(command, null, workingDir); - startStreamThread(p, p.getInputStream(), output, wnd); - startStreamThread(p, p.getErrorStream(), error, wnd); + startStreamThread(p, p.getInputStream(), output, callbacks); + startStreamThread(p, p.getErrorStream(), error, callbacks); p.waitFor(3, TimeUnit.MINUTES); } catch (IOException e) { - wnd.append("IOError: " + e); + callbacks.log("IOError: " + e); + callbacks.error(); } catch (InterruptedException e) { - wnd.append("WaitError: " + e); + callbacks.log("WaitError: " + e); + callbacks.error(); } - wnd.append("Done!"); + return error.toString(); } @@ -94,9 +97,4 @@ public static void submitAction(Runnable runnable, String threadName) { thread.setDaemon(true); thread.start(); } - - @NotNull - public static String getBatchCommand(String batch) { - return "cmd /c start " + batch; - } } diff --git a/java_console/ui/src/main/java/com/rusefi/maintenance/OpenbltJni.java b/java_console/ui/src/main/java/com/rusefi/maintenance/OpenbltJni.java new file mode 100644 index 0000000000..df83c3b25a --- /dev/null +++ b/java_console/ui/src/main/java/com/rusefi/maintenance/OpenbltJni.java @@ -0,0 +1,70 @@ +package com.rusefi.maintenance; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; +import java.util.Arrays; +import java.util.Locale; + +public final class OpenbltJni { + public interface OpenbltCallbacks + { + void log(String line); + void updateProgress(int percent); + void error(String line); + + void setPhase(String title, boolean hasProgress); + } + + private static final String OS_NAME = System.getProperty("os.name").toLowerCase(Locale.ROOT); + private static final boolean IS_MAC = OS_NAME.contains("mac") || OS_NAME.contains("darwin"); + + static { + if (IS_MAC) { + // MacOS won't run load a dylib from the current directory, it has + // to be copied to the user's library first + String targetDir = System.getProperty("user.home") + "/Library/Java/Extensions"; + new File(targetDir).mkdirs(); + + String[] libs = { "libopenblt.dylib", "libopenblt_jni.dylib" }; + + try { + for (String l : libs) { + Files.copy(Paths.get(l), Paths.get(targetDir + "/" + l), StandardCopyOption.REPLACE_EXISTING); + } + } catch (IOException e) { + throw new RuntimeException(e); + } + + // Sometimes macOS has difficulty finding libopenblt.dylib + // Force it to load it first + System.loadLibrary("openblt"); + } + + // Load our OpenBLT JNI lib we actually want to use + System.loadLibrary("openblt_jni"); + } + + public static void flashSerial(String filename, String serialPort, OpenbltCallbacks callbacks) { + // On non-Windows, prepend "/dev/" to the serial port name if it's missing + if (!OS_NAME.contains("win") && !serialPort.startsWith("/dev/")) { + serialPort = "/dev/" + serialPort; + } + + flashSerialNative(filename, serialPort, callbacks); + } + + public static void flashCan(String filename, OpenbltCallbacks callbacks) { + flashCanNative(filename, callbacks); + } + + public static void stop(OpenbltCallbacks callbacks) { + stopNative(callbacks); + } + + private static native void flashSerialNative(String filename, String serialPort, OpenbltCallbacks callbacks); + private static native void flashCanNative(String filename, OpenbltCallbacks callbacks); + private static native void stopNative(OpenbltCallbacks callbacks); +} diff --git a/java_console/ui/src/main/java/com/rusefi/maintenance/ProgramSelector.java b/java_console/ui/src/main/java/com/rusefi/maintenance/ProgramSelector.java index 1550c2ce49..41f5535304 100644 --- a/java_console/ui/src/main/java/com/rusefi/maintenance/ProgramSelector.java +++ b/java_console/ui/src/main/java/com/rusefi/maintenance/ProgramSelector.java @@ -3,7 +3,10 @@ import com.rusefi.Launcher; import com.rusefi.SerialPortScanner; import com.rusefi.autodetect.PortDetector; -import com.rusefi.ui.StatusWindow; +import com.rusefi.binaryprotocol.BinaryProtocol; +import com.rusefi.config.generated.Fields; +import com.rusefi.io.LinkManager; +import com.rusefi.io.UpdateOperationCallbacks; import com.rusefi.ui.util.URLLabel; import com.rusefi.ui.util.UiUtils; import org.jetbrains.annotations.NotNull; @@ -12,9 +15,11 @@ import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; -import java.io.File; +import java.awt.event.ItemEvent; +import java.util.ArrayList; import java.util.Arrays; import java.util.Objects; +import java.util.function.Consumer; import static com.rusefi.StartupFrame.appendBundleName; import static com.rusefi.core.preferences.storage.PersistentConfiguration.getConfig; @@ -22,84 +27,218 @@ public class ProgramSelector { - private static final String AUTO_DFU = "Auto Update"; + private static final String AUTO_DFU = "Auto DFU Update"; private static final String MANUAL_DFU = "Manual DFU Update"; private static final String DFU_SWITCH = "Switch to DFU Mode"; + private static final String OPENBLT_SWITCH = "Switch to OpenBLT Mode"; + private static final String OPENBLT_MANUAL = "Manual OpenBLT Update"; + private static final String OPENBLT_AUTO = "Auto OpenBLT Update"; private static final String DFU_ERASE = "Full Chip Erase"; private static final String OPENBLT_CAN = "OpenBLT via CAN"; public static final boolean IS_WIN = System.getProperty("os.name").toLowerCase().contains("win"); private static final String HELP = "https://github.com/rusefi/rusefi/wiki/HOWTO-Update-Firmware"; - public static final String BOOT_COMMANDER_EXE = "BootCommander.exe"; - public static final String OPENBLT_BINARY_LOCATION = Launcher.TOOLS_PATH + File.separator + "openblt"; - private final JPanel content = new JPanel(new BorderLayout()); private final JLabel noHardware = new JLabel("Nothing detected"); private final JPanel controls = new JPanel(new FlowLayout()); private final JComboBox mode = new JComboBox<>(); - public ProgramSelector(JComboBox comboPorts) { + public ProgramSelector(JComboBox comboPorts) { content.add(controls, BorderLayout.NORTH); content.add(noHardware, BorderLayout.SOUTH); controls.setVisible(false); controls.add(mode); String persistedMode = getConfig().getRoot().getProperty(getClass().getSimpleName()); - if (Arrays.asList(AUTO_DFU, MANUAL_DFU, OPENBLT_CAN , DFU_ERASE, DFU_SWITCH).contains(persistedMode)) + if (Arrays.asList(AUTO_DFU, MANUAL_DFU, OPENBLT_CAN, OPENBLT_SWITCH, OPENBLT_MANUAL, OPENBLT_AUTO, DFU_ERASE, DFU_SWITCH).contains(persistedMode)) mode.setSelectedItem(persistedMode); JButton updateFirmware = new JButton("Update Firmware", UiUtils.loadIcon("upload48.png")); controls.add(updateFirmware); + comboPorts.addItemListener(this::selectedPortChanged); + updateFirmware.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - String selectedMode = (String) mode.getSelectedItem(); + final String selectedMode = (String) mode.getSelectedItem(); + final String selectedPort = ((SerialPortScanner.PortResult) comboPorts.getSelectedItem()).port; getConfig().getRoot().setProperty(getClass().getSimpleName(), selectedMode); + String jobName; + Consumer job; + Objects.requireNonNull(selectedMode); switch (selectedMode) { case AUTO_DFU: - DfuFlasher.doAutoDfu(comboPorts.getSelectedItem(), comboPorts); + jobName = "DFU update"; + job = (callbacks) -> DfuFlasher.doAutoDfu(comboPorts, selectedPort, callbacks); break; case MANUAL_DFU: - DfuFlasher.runDfuProgramming(); + jobName = "DFU update"; + job = DfuFlasher::runDfuProgramming; break; case DFU_SWITCH: - StatusWindow wnd = DfuFlasher.createStatusWindow(); - Object selected = comboPorts.getSelectedItem(); - String port = selected == null ? PortDetector.AUTO : selected.toString(); - DfuFlasher.rebootToDfu(comboPorts, port, wnd); + jobName = "DFU switch"; + job = (callbacks) -> rebootToDfu(comboPorts, selectedPort, callbacks); + break; + case OPENBLT_SWITCH: + jobName = "OpenBLT switch"; + job = (callbacks) -> rebootToOpenblt(comboPorts, selectedPort, callbacks); break; case OPENBLT_CAN: - flashOpenBltCan(); + jobName = "OpenBLT via CAN"; + job = ProgramSelector.this::flashOpenBltCan; + break; + case OPENBLT_MANUAL: + jobName = "OpenBLT via Serial"; + job = (callbacks) -> flashOpenbltSerialJni(selectedPort, callbacks); + break; + case OPENBLT_AUTO: + jobName = "OpenBLT via Serial"; + job = (callbacks) -> flashOpenbltSerialAutomatic(comboPorts, selectedPort, callbacks); break; case DFU_ERASE: - DfuFlasher.runDfuErase(); + jobName = "DFU erase"; + job = DfuFlasher::runDfuEraseAsync; break; default: throw new IllegalArgumentException("How did you " + selectedMode); } + + final UpdateOperationCallbacks callbacks = new UpdateStatusWindow(appendBundleName(jobName + " " + Launcher.CONSOLE_VERSION)); + final Consumer job2 = job; + ExecHelper.submitAction(() -> { + SerialPortScanner.INSTANCE.stopTimer(); + job2.accept(callbacks); + SerialPortScanner.INSTANCE.startTimer(); + }, "mx"); } }); + } + + private static void rebootToDfu(JComponent parent, String selectedPort, UpdateOperationCallbacks callbacks) { + String port = selectedPort == null ? PortDetector.AUTO : selectedPort; + DfuFlasher.rebootToDfu(parent, port, callbacks, Fields.CMD_REBOOT_DFU); + } + private static void rebootToOpenblt(JComponent parent, String selectedPort, UpdateOperationCallbacks callbacks) { + String port = selectedPort == null ? PortDetector.AUTO : selectedPort; + DfuFlasher.rebootToDfu(parent, port, callbacks, Fields.CMD_REBOOT_OPENBLT); } - private void flashOpenBltCan() { - StatusWindow wnd = new StatusWindow(); - wnd.showFrame(appendBundleName("OpenBLT via CAN " + Launcher.CONSOLE_VERSION)); - ExecHelper.submitAction(() -> { - ExecHelper.executeCommand(OPENBLT_BINARY_LOCATION, - OPENBLT_BINARY_LOCATION + "/" + BOOT_COMMANDER_EXE + - " -s=xcp -t=xcp_can -d=peak_pcanusb -t1=1000 -t3=2000 -t4=10000 -t5=1000 -t7=2000 ../../rusefi_update.srec", - BOOT_COMMANDER_EXE, wnd, new StringBuffer()); - // it's a lengthy operation let's signal end - Toolkit.getDefaultToolkit().beep(); - }, "OpenBLT via CAN"); + private void flashOpenBltCan(UpdateOperationCallbacks callbacks) { + OpenbltJni.OpenbltCallbacks cb = makeOpenbltCallbacks(callbacks); + + try { + OpenbltJni.flashCan("../fome_update.srec", cb); + + callbacks.log("Update completed successfully!"); + callbacks.done(); + } catch (Throwable e) { + callbacks.log("Error: " + e.toString()); + callbacks.error(); + } finally { + OpenbltJni.stop(cb); + } + } + + private void flashOpenbltSerialAutomatic(JComponent parent, String fomePort, UpdateOperationCallbacks callbacks) { + String[] portsBefore = LinkManager.getCommPorts(); + rebootToOpenblt(parent, fomePort, callbacks); + + // Give the bootloader a sec to enumerate + BinaryProtocol.sleep(3000); + + String[] portsAfter = LinkManager.getCommPorts(); + + // Check that the ECU disappeared from the "after" list + if (!PortDetector.AUTO.equals(fomePort) && Arrays.asList(portsAfter).contains(fomePort)) { + callbacks.log("Looks like your ECU didn't reboot to OpenBLT"); + callbacks.error(); + return; + } + + // Check that exactly one thing appeared in the "after" list + ArrayList newItems = new ArrayList<>(); + for (String s : portsAfter) { + if (Arrays.stream(portsBefore).noneMatch(s::equals)) { + // This item is in the after list but not before list + newItems.add(s); + } + } + + if (newItems.isEmpty()) { + callbacks.log("Looks like your ECU disappeared during the update process. Please try again."); + callbacks.error(); + return; + } + + if (newItems.size() > 1) { + // More than one port appeared? whattt? + callbacks.log("Unable to find ECU after reboot as multiple serial ports appeared. Before: " + portsBefore.length + " After: " + portsAfter.length); + callbacks.error(); + return; + } + + String openbltPort = newItems.get(0); + + // Check that the one that appeared is indeed OpenBLT + boolean isOpenBlt = SerialPortScanner.isPortOpenblt(openbltPort); + + if (!isOpenBlt) { + callbacks.log("A serial port appeared as it should, but OpenBLT didn't respond."); + callbacks.error(); + return; + } + + callbacks.log("Serial port " + openbltPort + " appeared and looks like OpenBLT, programming firmware..."); + + flashOpenbltSerialJni(openbltPort, callbacks); + } + + private OpenbltJni.OpenbltCallbacks makeOpenbltCallbacks(UpdateOperationCallbacks callbacks) { + return new OpenbltJni.OpenbltCallbacks() { + @Override + public void log(String line) { + callbacks.log(line); + } + + @Override + public void updateProgress(int percent) { + callbacks.log("Progress: " + percent + "%"); + } + + @Override + public void error(String line) { + throw new RuntimeException(line); + } + + @Override + public void setPhase(String title, boolean hasProgress) { + callbacks.log("Begin phase: " + title); + } + }; + } + + private void flashOpenbltSerialJni(String port, UpdateOperationCallbacks callbacks) { + OpenbltJni.OpenbltCallbacks cb = makeOpenbltCallbacks(callbacks); + + try { + OpenbltJni.flashSerial("../fome_update.srec", port, cb); + + callbacks.log("Update completed successfully!"); + callbacks.done(); + } catch (Throwable e) { + callbacks.log("Error: " + e.toString()); + callbacks.error(); + } finally { + OpenbltJni.stop(cb); + } } @NotNull @@ -111,22 +250,51 @@ public JPanel getControl() { return content; } - public void apply(SerialPortScanner.AvailableHardware currentHardware) { - noHardware.setVisible(currentHardware.isEmpty()); - controls.setVisible(!currentHardware.isEmpty()); + private SerialPortScanner.AvailableHardware currentHardware = new SerialPortScanner.AvailableHardware(new ArrayList<>(), false, false, false); + + private void selectedPortChanged(ItemEvent e) { + SerialPortScanner.PortResult pr = (SerialPortScanner.PortResult) e.getItem(); mode.removeAllItems(); + + // Prefer OpenBLT so put that option first + if (pr.type == SerialPortScanner.SerialPortType.FomeEcuWithOpenblt) { + mode.addItem(OPENBLT_AUTO); + mode.addItem(OPENBLT_SWITCH); + } + if (IS_WIN) { - if (!currentHardware.getKnownPorts().isEmpty()) + if (pr.isEcu()) { mode.addItem(AUTO_DFU); - if (currentHardware.isDfuFound()) { + } + + if (currentHardware.dfuFound) { mode.addItem(MANUAL_DFU); mode.addItem(DFU_ERASE); } } - if (!currentHardware.getKnownPorts().isEmpty()) + + if (pr.isEcu()) { mode.addItem(DFU_SWITCH); + } + + if (pr.type == SerialPortScanner.SerialPortType.OpenBlt) { + mode.addItem(OPENBLT_MANUAL); + } + + // Show update controls if there are any options + controls.setVisible(0 != mode.getItemCount()); + + trueLayout(mode); + trueLayout(content); + } + + public void apply(SerialPortScanner.AvailableHardware currentHardware) { + this.currentHardware = currentHardware; + + noHardware.setVisible(currentHardware.isEmpty()); + trueLayout(mode); - UiUtils.trueLayout(content); + trueLayout(content); } } diff --git a/java_console/ui/src/main/java/com/rusefi/maintenance/UpdateStatusWindow.java b/java_console/ui/src/main/java/com/rusefi/maintenance/UpdateStatusWindow.java new file mode 100644 index 0000000000..74eed8938e --- /dev/null +++ b/java_console/ui/src/main/java/com/rusefi/maintenance/UpdateStatusWindow.java @@ -0,0 +1,25 @@ +package com.rusefi.maintenance; + +import com.rusefi.io.UpdateOperationCallbacks; +import com.rusefi.ui.StatusWindow; + +public class UpdateStatusWindow extends StatusWindow implements UpdateOperationCallbacks { + public UpdateStatusWindow(String title) { + showFrame(title); + } + + @Override + public void log(String message) { + append(message); + } + + @Override + public void done() { + setSuccessState(); + } + + @Override + public void error() { + setErrorState(); + } +} diff --git a/java_console/ui/src/main/java/com/rusefi/maintenance/VersionChecker.java b/java_console/ui/src/main/java/com/rusefi/maintenance/VersionChecker.java deleted file mode 100644 index 31a9b86011..0000000000 --- a/java_console/ui/src/main/java/com/rusefi/maintenance/VersionChecker.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.rusefi.maintenance; - -import com.devexperts.logging.Logging; -import com.rusefi.ConsoleUI; -import com.rusefi.FileLog; -import com.rusefi.models.Utils; -import com.rusefi.ui.util.URLLabel; - -import javax.swing.*; -import java.awt.*; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.URL; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; - -import static com.devexperts.logging.Logging.getLogging; -import static com.rusefi.Launcher.*; -import static com.rusefi.core.preferences.storage.PersistentConfiguration.getConfig; - -/** - * This class checks the recommended versions numbers and compares them with current versions - *

- * Andrey Belomutskiy, (c) 2013-2020 - * 8/10/14 - */ -public class VersionChecker { - private static final Logging log = getLogging(ConsoleUI.class); - private static final String JAVA_CONSOLE_TAG = "java_console"; - private static final String FIRMWARE_TAG = "firmware"; - private static final String VERSIONS_URL = "https://rusefi.com/console/versions.txt"; - - private static final VersionChecker instance = new VersionChecker(); - - private final Map map = new HashMap<>(); - private int previousReportedVersion; - - private VersionChecker() { - } - - public static void start() { - Thread t = new Thread(new Runnable() { - @Override - public void run() { - try { - instance.readAndProcess(); - } catch (IOException e) { - FileLog.MAIN.logLine("Failed to read from " + VERSIONS_URL + e); - } - } - }, "version checker"); - t.setDaemon(true); - t.start(); - } - - private void readAndProcess() throws IOException { - URL url = new URL(VERSIONS_URL); - BufferedReader s = new BufferedReader(new InputStreamReader(url.openStream())); - - log.info("Reading from " + VERSIONS_URL); - - String line; - while ((line = s.readLine()) != null) { - String[] pair = line.split("="); - if (pair.length == 2) - map.put(pair[0], pair[1]); - } - - final Integer javaVersion = parseNotNull(map.get(JAVA_CONSOLE_TAG), "VC value"); - log.info("Server recommends java_console version " + javaVersion + " or newer"); - showUpdateWarningIfNeeded("dev console", javaVersion, CONSOLE_VERSION); - log.info("Server recommends firmware " + map.get(FIRMWARE_TAG) + " or newer"); - - String criticalUrl = map.get("critical_url"); - if (criticalUrl != null && !criticalUrl.trim().isEmpty()) { - JPanel panel = new JPanel(new BorderLayout()); - panel.add(new JLabel("WARNING! CRITICAL ISSUE! Are you sure you want to run rusEFI?"), BorderLayout.NORTH); - panel.add(new URLLabel(criticalUrl, criticalUrl), BorderLayout.CENTER); - JOptionPane.showMessageDialog(getPaneParent(), panel); - } - } - - private int parseNotNull(String value, String reason) throws IOException { - if (value == null) - throw new IOException("Unexpected file format"); - return Utils.parseIntWithReason(value, reason); - } - - private static void showUpdateWarningIfNeeded(final String componentName, final Integer latestVersion, final int currentVersion) { - if (latestVersion == null || currentVersion >= latestVersion) - return; - if (getConfig().getRoot().getProperty(componentName).equals(Integer.toString(latestVersion))) - return; // warning was suppressed - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - JPanel panel = new JPanel(new BorderLayout()); - String message = "It's time to update " + componentName + "!
" + - "Your version: " + currentVersion + "
" + - "Latest version: " + latestVersion; - panel.add(new JLabel(message), BorderLayout.NORTH); - JCheckBox doNotShowForThisVersion = new JCheckBox("Do not show for this version"); - panel.add(doNotShowForThisVersion, BorderLayout.CENTER); - JOptionPane.showMessageDialog(getPaneParent(), panel, "Update", JOptionPane.WARNING_MESSAGE); - if (doNotShowForThisVersion.isSelected()) - getConfig().getRoot().setProperty(componentName, latestVersion); - } - }); - } - - private static Component getPaneParent() { - return JFrame.getFrames()[0]; - } - - public static VersionChecker getInstance() { - return instance; - } - - public void onFirmwareVersion(String firmwareString) { - String suggestedFirmware = map.get(FIRMWARE_TAG); - if (suggestedFirmware == null) { - // no version file yet? nothing to bother about - return; - } - int latestVersion = Utils.parseIntWithReason(suggestedFirmware, "VC value"); - String[] tokens = firmwareString.split("[@\\s]"); - int version; - try { - version = Integer.parseInt(tokens[1]); - } catch (NumberFormatException e) { - FileLog.MAIN.logLine("Error processing version [" + firmwareString + "]"); - return; - } - if (version == previousReportedVersion) { - // no reason to bother our user too often - return; - } - previousReportedVersion = version; - showUpdateWarningIfNeeded("firmware", latestVersion, version); - } -} diff --git a/java_console/ui/src/main/java/com/rusefi/models/XYData.java b/java_console/ui/src/main/java/com/rusefi/models/XYData.java index f756084e3a..7764c7cd97 100644 --- a/java_console/ui/src/main/java/com/rusefi/models/XYData.java +++ b/java_console/ui/src/main/java/com/rusefi/models/XYData.java @@ -19,7 +19,7 @@ */ public class XYData { @NotNull - private final TreeMap yDatas = new TreeMap(); + private final TreeMap yDatas = new TreeMap<>(); private double maxXValue; private double minXValue; diff --git a/java_console/ui/src/main/java/com/rusefi/models/XYDataReader.java b/java_console/ui/src/main/java/com/rusefi/models/XYDataReader.java index 684373592d..3947137896 100644 --- a/java_console/ui/src/main/java/com/rusefi/models/XYDataReader.java +++ b/java_console/ui/src/main/java/com/rusefi/models/XYDataReader.java @@ -14,8 +14,6 @@ public static XYData readFile(String fileName) { throw new IllegalArgumentException("No file: " + fileName); try { return doReadFile(fileName); - } catch (FileNotFoundException e) { - throw new IllegalStateException(e); } catch (IOException e) { throw new IllegalStateException(e); } diff --git a/java_console/ui/src/main/java/com/rusefi/models/YAxisData.java b/java_console/ui/src/main/java/com/rusefi/models/YAxisData.java index 6c2eba1a90..ef02a6c88b 100644 --- a/java_console/ui/src/main/java/com/rusefi/models/YAxisData.java +++ b/java_console/ui/src/main/java/com/rusefi/models/YAxisData.java @@ -15,7 +15,7 @@ * Andrey Belomutskiy, (c) 2013-2020 */ public class YAxisData { - private final TreeMap values = new TreeMap(); + private final TreeMap values = new TreeMap<>(); private double maxYValue = Double.MIN_VALUE; private double minYValue = Double.MAX_VALUE; private final double x; diff --git a/java_console/ui/src/main/java/com/rusefi/tools/ConsoleTools.java b/java_console/ui/src/main/java/com/rusefi/tools/ConsoleTools.java index 971be8756c..05ae3fd0a8 100644 --- a/java_console/ui/src/main/java/com/rusefi/tools/ConsoleTools.java +++ b/java_console/ui/src/main/java/com/rusefi/tools/ConsoleTools.java @@ -9,7 +9,6 @@ import com.rusefi.autodetect.SerialAutoChecker; import com.rusefi.binaryprotocol.BinaryProtocol; import com.rusefi.binaryprotocol.IncomingDataBuffer; -import com.rusefi.binaryprotocol.MsqFactory; import com.rusefi.config.generated.Fields; import com.rusefi.core.EngineState; import com.rusefi.core.Pair; @@ -20,9 +19,7 @@ import com.rusefi.io.IoStream; import com.rusefi.io.LinkManager; import com.rusefi.io.tcp.BinaryProtocolServer; -import com.rusefi.io.tcp.ServerSocketReference; import com.rusefi.maintenance.ExecHelper; -import com.rusefi.tune.xml.Msq; import com.rusefi.ui.StatusConsumer; import org.jetbrains.annotations.Nullable; @@ -61,10 +58,7 @@ public void append(String message) { registerTool("convert_binary_configuration_to_xml", ConsoleTools::convertBinaryToXml, "NOT A USER TOOL. Development tool to convert binary configuration into XML form."); registerTool("get_image_tune_crc", ConsoleTools::calcBinaryImageTuneCrc, "Calculate tune CRC for given binary tune"); - registerTool("get_xml_tune_crc", ConsoleTools::calcXmlImageTuneCrc, "Calculate tune CRC for given XML tune"); - registerTool("read_tune", args -> readTune(), "Read tune from controller"); - registerTool("write_tune", ConsoleTools::writeTune, "Write specified XML tune into controller"); registerTool("get_performance_trace", args -> PerformanceTraceHelper.getPerformanceTune(), "DEV TOOL: Get performance trace from ECU"); registerTool("version", ConsoleTools::version, "Only print version"); @@ -72,13 +66,10 @@ public void append(String message) { registerTool("dfu", DfuTool::run, "Program specified file into ECU via DFU"); registerTool("detect", ConsoleTools::detect, "Find attached rusEFI"); - registerTool("send_command", new ConsoleTool() { - @Override - public void runTool(String[] args) throws Exception { - String command = args[1]; - System.out.println("Sending command " + command); - sendCommand(command); - } + registerTool("send_command", args -> { + String command = args[1]; + System.out.println("Sending command " + command); + sendCommand(command); }, "Sends command specified as second argument"); registerTool("reboot_ecu", args -> sendCommand(Fields.CMD_REBOOT), "Sends a command to reboot rusEFI controller."); registerTool(Fields.CMD_REBOOT_DFU, args -> { @@ -100,14 +91,6 @@ public static void main(String[] args) throws Exception { System.setProperty("ini_file_path", "../firmware/tunerstudio"); // calcBinaryImageTuneCrc(null, "current_configuration.rusefi_binary"); - calcXmlImageTuneCrc(null, "CurrentTune.msq"); - } - - private static void calcXmlImageTuneCrc(String... args) throws Exception { - String fileName = args[1]; - Msq msq = Msq.readTune(fileName); - ConfigurationImage image = msq.asImage(IniFileModel.getInstance(), Fields.TOTAL_CONFIG_SIZE); - printCrc(image); } private static void calcBinaryImageTuneCrc(String... args) throws IOException { @@ -117,8 +100,6 @@ private static void calcBinaryImageTuneCrc(String... args) throws IOException { } private static void printCrc(ConfigurationImage image) { - for (int i = 0; i < Fields.ERROR_BUFFER_SIZE; i++) - image.getContent()[Fields.WARNING_MESSAGE.getOffset() + i] = 0; int crc32 = getCrc32(image.getContent()); int crc16 = crc32 & 0xFFFF; System.out.printf("tune_CRC32_hex=0x%x\n", crc32); @@ -204,33 +185,6 @@ public void onConnectionFailed(String s) { }); } - private static void readTune() { - startAndConnect(linkManager -> { - System.out.println("Loaded! Exiting"); - System.exit(0); - return null; - }); - } - - private static void writeTune(String[] args) throws Exception { - if (args.length < 2) { - System.out.println("No tune file name specified"); - return; - } - - String fileName = args[1]; - Msq msq = Msq.readTune(fileName); - - startAndConnect(linkManager -> { - ConfigurationImage ci = msq.asImage(IniFileModel.getInstance(), Fields.TOTAL_CONFIG_SIZE); - linkManager.getConnector().getBinaryProtocol().uploadChanges(ci); - - //System.exit(0); - return null; - }); - - } - private static void invokeCallback(String callback) { if (callback == null) return; diff --git a/java_console/ui/src/main/java/com/rusefi/trigger/TriggerImage.java b/java_console/ui/src/main/java/com/rusefi/trigger/TriggerImage.java index 470b76841d..9515077e09 100644 --- a/java_console/ui/src/main/java/com/rusefi/trigger/TriggerImage.java +++ b/java_console/ui/src/main/java/com/rusefi/trigger/TriggerImage.java @@ -131,9 +131,7 @@ public Dimension getPreferredSize() { UiUtils.trueRepaint(content); }); - SwingUtilities.invokeAndWait(() -> { - TriggerWheelInfo.readWheels(workingFolder, wheelInfo -> onWheel(triggerPanel, topPanel, content, wheelInfo)); - }); + SwingUtilities.invokeAndWait(() -> TriggerWheelInfo.readWheels(workingFolder, wheelInfo -> onWheel(triggerPanel, topPanel, content, wheelInfo))); Thread.sleep(1000L * sleepAtEnd); System.exit(-1); } diff --git a/java_console/ui/src/main/java/com/rusefi/ui/BooleanInputsModel.java b/java_console/ui/src/main/java/com/rusefi/ui/BooleanInputsModel.java deleted file mode 100644 index d5bfa56b31..0000000000 --- a/java_console/ui/src/main/java/com/rusefi/ui/BooleanInputsModel.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.rusefi.ui; - -import java.util.HashMap; -import java.util.Map; -import java.util.TreeMap; - -/** - * Date: 1/14/13 - * Andrey Belomutskiy, (c) 2013-2020 - */ -public class BooleanInputsModel { - private static final Map inputTitle = new HashMap(); - private static final Map trueValueText = new HashMap(); - private static final Map falseValueText = new HashMap(); - private final Map values = new TreeMap(); - - static { - inputTitle.put(0, "cranking"); - int idle = 1; - inputTitle.put(idle, "idle switch"); - trueValueText.put(idle, "idle"); - falseValueText.put(idle, "not idle"); - } - - static String getTitle(int channel) { - String title = inputTitle.containsKey(channel) ? (": " + inputTitle.get(channel)) : ""; - return "adc " + channel + title; - } - - public void setValue(int channel, boolean value) { - values.put(channel, value); - } - - public static String getValueLabelText(int channel, boolean value) { - if (value && trueValueText.containsKey(channel)) - return trueValueText.get(channel); - if (!value && falseValueText.containsKey(channel)) - return falseValueText.get(channel); - return Boolean.toString(value); - } -} diff --git a/java_console/ui/src/main/java/com/rusefi/ui/ChartScrollControl.java b/java_console/ui/src/main/java/com/rusefi/ui/ChartScrollControl.java index b660630bec..9b04ec0182 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/ChartScrollControl.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/ChartScrollControl.java @@ -17,7 +17,7 @@ public class ChartScrollControl { private final JPanel content = new JPanel(new FlowLayout(FlowLayout.RIGHT, 5, 0)); private final AtomicInteger index = new AtomicInteger(); private static final JLabel info = new JLabel(); - private ChartRepository.ChartRepositoryListener listener; + private final ChartRepository.ChartRepositoryListener listener; public ChartScrollControl(final ChartRepository.ChartRepositoryListener listener) { diff --git a/java_console/ui/src/main/java/com/rusefi/ui/MessagesPane.java b/java_console/ui/src/main/java/com/rusefi/ui/MessagesPane.java index 0684eb60f2..7e22b3acb1 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/MessagesPane.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/MessagesPane.java @@ -4,7 +4,6 @@ import com.rusefi.core.preferences.storage.Node; import com.rusefi.ui.util.URLLabel; import com.rusefi.ui.widgets.AnyCommand; -import com.rusefi.ui.widgets.IdleLabel; import javax.swing.*; import java.awt.*; @@ -49,7 +48,6 @@ public MessagesPane(UIContext uiContext, final Node config) { JPanel statsPanel = new JPanel(new FlowLayout(FlowLayout.LEFT)); statsPanel.add(new RpmLabel(uiContext).getContent()); - statsPanel.add(new IdleLabel()); statsPanel.add(new WarningPanel(config).getPanel(config)); content.add(statsPanel, BorderLayout.SOUTH); diff --git a/java_console/ui/src/main/java/com/rusefi/ui/RecentCommands.java b/java_console/ui/src/main/java/com/rusefi/ui/RecentCommands.java index eaa0bf62dc..a1afe56a51 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/RecentCommands.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/RecentCommands.java @@ -35,14 +35,11 @@ public class RecentCommands { private static final String STOPENGINE = "stopengine"; private static final String HELP = "help"; private static final String SENSORINFO = "sensorinfo"; - private static final String IDLEINFO = "idleinfo"; private static final String MAPINFO = "mapinfo"; private static final String CANINFO = "caninfo"; private static final String TSINFO = "tsinfo"; - private static final String SPEEDINFO = "speedinfo"; private static final String FUELINFO = "fuelinfo"; private static final String SDINFO = "sdinfo"; - private static final String FSIOINFO = "fsioinfo"; private static final String PINS = "pins"; private final static Map COMMAND_ICONS = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); @@ -53,16 +50,13 @@ public class RecentCommands { COMMAND_ICONS.put(HELP, UiUtils.loadIcon("help.jpg")); COMMAND_ICONS.put(SENSORINFO, infoIcon); COMMAND_ICONS.put(CMD_TRIGGERINFO, UiUtils.loadIcon("trigger.jpg")); - COMMAND_ICONS.put(IDLEINFO, infoIcon); COMMAND_ICONS.put(TSINFO, infoIcon); COMMAND_ICONS.put(MAPINFO, infoIcon); COMMAND_ICONS.put(CANINFO, infoIcon); COMMAND_ICONS.put(FUELINFO, infoIcon); COMMAND_ICONS.put(SDINFO, UiUtils.loadIcon("sdinfo.jpg")); - COMMAND_ICONS.put(FSIOINFO, infoIcon); COMMAND_ICONS.put(PINS, infoIcon); COMMAND_ICONS.put(Fields.CMD_WRITECONFIG, UiUtils.loadIcon("writeconfig.jpg")); - COMMAND_ICONS.put(SPEEDINFO, UiUtils.loadIcon("speedinfo.jpg")); } private final JPanel content = new JPanel(new GridLayout(NUMBER_OF_COMMANDS + 1, 1)); @@ -108,7 +102,6 @@ private void addDefaults() { add(SENSORINFO); add(CMD_TRIGGERINFO); add(TSINFO); - add(SPEEDINFO); add(CANINFO); add(Fields.CMD_WRITECONFIG); add("rewriteconfig"); @@ -126,11 +119,9 @@ private void addDefaults() { add("set_idle_position 50"); add("sparkbench 5 400 2"); add("fuelbench 5 400 2"); - add(IDLEINFO); add(MAPINFO); add(FUELINFO); add(SDINFO); - add(FSIOINFO); add(PINS); } @@ -226,8 +217,7 @@ public boolean equals(Object o) { Entry entry = (Entry) o; - return !(command != null ? !command.equals(entry.command) : entry.command != null); - + return Objects.equals(command, entry.command); } @Override diff --git a/java_console/ui/src/main/java/com/rusefi/ui/ShowMap.java b/java_console/ui/src/main/java/com/rusefi/ui/ShowMap.java deleted file mode 100644 index cf5b768c51..0000000000 --- a/java_console/ui/src/main/java/com/rusefi/ui/ShowMap.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.rusefi.ui; - -import com.rusefi.file.BaseMap; -import com.rusefi.models.XYData; -import com.rusefi.core.ui.FrameHelper; - -import javax.swing.*; - -/** - * 7/18/13 - * Andrey Belomutskiy, (c) 2013-2020 - */ -/* -public class ShowMap { - public static void main(String[] args) { -// XYData data = BaseMap.loadData("a.csv", "maf", "af"); -// XYData data2 = BaseMap.loadData("a.csv", "maf", "table_fuel"); - - XYData data = BaseMap.loadData("200.csv", "maf", "dwell"); - XYData data2 = null; - - JPanel jsp = ChartHelper.create3DControl(data, ChartHelper.createDefaultSurfaceModel(data, data2), "MAF<>Fuel Map"); - - new FrameHelper().showFrame(jsp); - } -} -*/ \ No newline at end of file diff --git a/java_console/ui/src/main/java/com/rusefi/ui/SizeSelectorPanel.java b/java_console/ui/src/main/java/com/rusefi/ui/SizeSelectorPanel.java index bcd9696a52..ca8b30c80d 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/SizeSelectorPanel.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/SizeSelectorPanel.java @@ -7,8 +7,6 @@ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; -import java.util.ArrayList; -import java.util.List; public class SizeSelectorPanel extends JPanel { public static final int WIDTH = 5; diff --git a/java_console/ui/src/main/java/com/rusefi/ui/WarningPanel.java b/java_console/ui/src/main/java/com/rusefi/ui/WarningPanel.java index c6d72c034f..8f164d94d8 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/WarningPanel.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/WarningPanel.java @@ -1,6 +1,5 @@ package com.rusefi.ui; -import com.rusefi.FileLog; import com.rusefi.config.generated.Fields; import com.rusefi.core.MessagesCentral; import com.rusefi.core.preferences.storage.Node; diff --git a/java_console/ui/src/main/java/com/rusefi/ui/config/BaseConfigField.java b/java_console/ui/src/main/java/com/rusefi/ui/config/BaseConfigField.java index 47e9ed8ea8..7803d7aa4d 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/config/BaseConfigField.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/config/BaseConfigField.java @@ -2,13 +2,9 @@ import com.devexperts.logging.Logging; import com.opensr5.ConfigurationImage; -import com.rusefi.FileLog; import com.rusefi.binaryprotocol.BinaryProtocol; import com.rusefi.config.Field; -import com.rusefi.io.CommandQueue; import com.rusefi.io.ConnectionStatusLogic; -import com.rusefi.io.DfuHelper; -import com.rusefi.io.LinkManager; import com.rusefi.ui.UIContext; import org.jetbrains.annotations.NotNull; diff --git a/java_console/ui/src/main/java/com/rusefi/ui/config/BitConfigField.java b/java_console/ui/src/main/java/com/rusefi/ui/config/BitConfigField.java index 6370877e42..3995c4f9c0 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/config/BitConfigField.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/config/BitConfigField.java @@ -28,8 +28,7 @@ public void onMessage(Class clazz, String message) { Fields.CONSOLE_DATA_PROTOCOL_TAG + field.getOffset() + "/" + field.getBitOffset() + " is "; if (message.startsWith(expectedPrefix) && message.length() == expectedPrefix.length() + 1) { message = message.substring(expectedPrefix.length()); - Boolean value = message.equals("1"); - setValue(value); + setValue(message.equals("1")); } } } diff --git a/java_console/ui/src/main/java/com/rusefi/ui/console/MainFrame.java b/java_console/ui/src/main/java/com/rusefi/ui/console/MainFrame.java index b9fbac367f..e4d5969242 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/console/MainFrame.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/console/MainFrame.java @@ -7,7 +7,6 @@ import com.rusefi.core.EngineState; import com.rusefi.io.*; import com.rusefi.io.tcp.BinaryProtocolServer; -import com.rusefi.maintenance.VersionChecker; import com.rusefi.core.preferences.storage.Node; import com.rusefi.core.ui.FrameHelper; import com.rusefi.ui.util.UiUtils; @@ -78,7 +77,7 @@ private void windowOpenedHandler() { })); final LinkManager linkManager = consoleUI.uiContext.getLinkManager(); - linkManager.getConnector().connectAndReadConfiguration(new BinaryProtocol.Arguments(true), new ConnectionStateListener() { + linkManager.getConnector().connectAndReadConfiguration(new ConnectionStateListener() { @Override public void onConnectionFailed(String errorMessage) { log.error("onConnectionFailed " + errorMessage); @@ -107,7 +106,6 @@ public void onConnectionEstablished() { public void onUpdate(String firmwareVersion) { Launcher.firmwareVersion.set(firmwareVersion); setTitle(); - VersionChecker.getInstance().onFirmwareVersion(firmwareVersion); } }); } diff --git a/java_console/ui/src/main/java/com/rusefi/ui/engine/EngineSnifferPanel.java b/java_console/ui/src/main/java/com/rusefi/ui/engine/EngineSnifferPanel.java index c7f33922eb..3113bf62c3 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/engine/EngineSnifferPanel.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/engine/EngineSnifferPanel.java @@ -69,7 +69,7 @@ public Dimension getPreferredSize() { private final EngineSnifferStatusPanel statusPanel = new EngineSnifferStatusPanel(); private final UpDownImage crank = createImage(Fields.PROTOCOL_CRANK1); private final ChartScrollControl scrollControl; - private AnyCommand command; + private final AnyCommand command; private boolean isPaused; @@ -77,30 +77,17 @@ public EngineSnifferPanel(UIContext uiContext, Node config) { statusPanel.setTimeAxisTranslator(crank.createTranslator()); final JButton pauseButton = UiUtils.createPauseButton(); - pauseButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - setPaused(pauseButton, !isPaused); - } - }); + pauseButton.addActionListener(e -> setPaused(pauseButton, !isPaused)); JButton clearButton = UiUtils.createClearButton(); - clearButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - for (UpDownImage image : images.values()) - image.setWaveReport(EngineReport.MOCK, null); - setPaused(pauseButton, false); - } + clearButton.addActionListener(e -> { + for (UpDownImage image : images.values()) + image.setWaveReport(EngineReport.MOCK, null); + setPaused(pauseButton, false); }); JButton saveImageButton = UiUtils.createSaveImageButton(); - saveImageButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - saveImage(); - } - }); + saveImageButton.addActionListener(e -> saveImage()); JPanel upperPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 0)); @@ -114,7 +101,7 @@ public void actionPerformed(ActionEvent e) { upperPanel.add(zoomControl); - scrollControl = ChartRepository.getInstance().createControls(chart -> displayChart(chart)); + scrollControl = ChartRepository.getInstance().createControls(this::displayChart); upperPanel.add(scrollControl.getContent()); upperPanel.add(new URLLabel(HELP_TEXT, HELP_URL)); @@ -148,13 +135,10 @@ public void actionPerformed(ActionEvent e) { resetImagePanel(); - uiContext.getLinkManager().getEngineState().registerStringValueAction(EngineReport.ENGINE_CHART, new EngineState.ValueCallback() { - @Override - public void onUpdate(String value) { - if (isPaused) - return; - displayChart(value); - } + uiContext.getLinkManager().getEngineState().registerStringValueAction(EngineReport.ENGINE_CHART, value -> { + if (isPaused) + return; + displayChart(value); }); mainPanel.add(chartPanel, BorderLayout.CENTER); @@ -167,19 +151,16 @@ private void setPaused(JButton pauseButton, boolean isPaused) { } public void setOutpinListener(EngineState engineState) { - engineState.registerStringValueAction(Fields.PROTOCOL_OUTPIN, new EngineState.ValueCallback() { - @Override - public void onUpdate(String value) { - String[] pinInfo = value.split("@"); - if (pinInfo.length != 2) - return; - String channel = pinInfo[0]; - String pin = pinInfo[1]; - UpDownImage image = images.get(channel); - ChannelNaming.INSTANCE.channelName2PhysicalPin.put(channel, pin); - if (image != null) - image.setPhysicalPin(pin); - } + engineState.registerStringValueAction(Fields.PROTOCOL_OUTPIN, value -> { + String[] pinInfo = value.split("@"); + if (pinInfo.length != 2) + return; + String channel = pinInfo[0]; + String pin = pinInfo[1]; + UpDownImage image = images.get(channel); + ChannelNaming.INSTANCE.channelName2PhysicalPin.put(channel, pin); + if (image != null) + image.setPhysicalPin(pin); }); } @@ -313,12 +294,9 @@ public void reloadFile() { } public ActionListener getTabSelectedListener() { - return new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - if (command != null) - command.requestFocus(); - } + return e -> { + if (command != null) + command.requestFocus(); }; } diff --git a/java_console/ui/src/main/java/com/rusefi/ui/engine/EngineSnifferStatusPanel.java b/java_console/ui/src/main/java/com/rusefi/ui/engine/EngineSnifferStatusPanel.java index 00684fee66..f4a4d73ae7 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/engine/EngineSnifferStatusPanel.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/engine/EngineSnifferStatusPanel.java @@ -2,7 +2,6 @@ import com.rusefi.waves.TimeAxisTranslator; import com.rusefi.waves.EngineReport; -import com.rusefi.waves.ZoomProvider; import com.rusefi.waves.RevolutionLog; import javax.swing.*; @@ -40,7 +39,7 @@ public void mouseMoved(MouseEvent event) { * Time which corresponds to the mouse cursor screen location */ double time = translator.screenToTime(x, s.getWidth()); - timeLabel.setText("" + String.format("%.5f sec", time)); + timeLabel.setText(String.format("%.5f sec", time)); String text = time2rpm == null ? "n/a" : time2rpm.getCrankAngleByTimeString(time); angleLabel.setText(text); diff --git a/java_console/ui/src/main/java/com/rusefi/ui/engine/ZoomControl.java b/java_console/ui/src/main/java/com/rusefi/ui/engine/ZoomControl.java index 20acc12451..153756b557 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/engine/ZoomControl.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/engine/ZoomControl.java @@ -18,7 +18,7 @@ class ZoomControl extends JPanel { public ZoomControlListener listener = null; private final JButton resetZoom = new JButton("*"); - private ZoomProvider zoomProvider = new ZoomProvider() { + private final ZoomProvider zoomProvider = new ZoomProvider() { @Override public double getZoomValue() { return value; diff --git a/java_console/ui/src/main/java/com/rusefi/ui/lua/LuaScriptPanel.java b/java_console/ui/src/main/java/com/rusefi/ui/lua/LuaScriptPanel.java index ec5f8c913b..6f6948bf82 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/lua/LuaScriptPanel.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/lua/LuaScriptPanel.java @@ -6,7 +6,6 @@ import com.rusefi.io.ConnectionStatusLogic; import com.rusefi.io.LinkManager; import com.rusefi.ui.MessagesPanel; -import com.rusefi.ui.MessagesView; import com.rusefi.ui.UIContext; import com.rusefi.core.preferences.storage.Node; import com.rusefi.ui.util.URLLabel; @@ -15,7 +14,6 @@ import javax.swing.*; import java.awt.*; -import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; @@ -54,16 +52,13 @@ public LuaScriptPanel(UIContext context, Node config) { }); resetButton.addActionListener(e -> resetLua()); - formatButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - String sourceCode = scriptText.getText(); - try { - String formatted = new LuaFormatter().format(sourceCode, new LuaFormatter.Env()); - scriptText.setText(formatted); - } catch (Exception ignored) { - // todo: fix luaformatter no reason for exception - } + formatButton.addActionListener(e -> { + String sourceCode = scriptText.getText(); + try { + String formatted = new LuaFormatter().format(sourceCode, new LuaFormatter.Env()); + scriptText.setText(formatted); + } catch (Exception ignored) { + // todo: fix luaformatter no reason for exception } }); @@ -92,18 +87,13 @@ public void actionPerformed(ActionEvent e) { messagesPanel.add(BorderLayout.NORTH, mp.getButtonPanel()); messagesPanel.add(BorderLayout.CENTER, mp.getMessagesScroll()); - ConnectionStatusLogic.INSTANCE.addListener(isConnected -> { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - try { - readFromECU(); - } catch (Throwable e) { - System.out.println(e); - } - } - }); - }); + ConnectionStatusLogic.INSTANCE.addListener(isConnected -> SwingUtilities.invokeLater(() -> { + try { + readFromECU(); + } catch (Throwable e) { + System.out.println(e); + } + })); JSplitPane centerPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, scriptPanel, messagesPanel); diff --git a/java_console/ui/src/main/java/com/rusefi/ui/lua/TextEditor.java b/java_console/ui/src/main/java/com/rusefi/ui/lua/TextEditor.java index 391fa9ece2..9e0c8a30ba 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/lua/TextEditor.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/lua/TextEditor.java @@ -1,7 +1,6 @@ package com.rusefi.ui.lua; import com.rusefi.config.generated.Fields; -import com.rusefi.ui.util.URLLabel; import com.rusefi.ui.util.UiUtils; import org.jetbrains.annotations.NotNull; diff --git a/java_console/ui/src/main/java/com/rusefi/ui/util/DefaultExceptionHandler.java b/java_console/ui/src/main/java/com/rusefi/ui/util/DefaultExceptionHandler.java index 2001e64903..5eb3c74876 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/util/DefaultExceptionHandler.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/util/DefaultExceptionHandler.java @@ -1,7 +1,6 @@ package com.rusefi.ui.util; import com.devexperts.logging.Logging; -import com.rusefi.FileLog; import javax.swing.*; import java.awt.*; diff --git a/java_console/ui/src/main/java/com/rusefi/ui/util/JTextFieldWithWidth.java b/java_console/ui/src/main/java/com/rusefi/ui/util/JTextFieldWithWidth.java index 1e807d7907..db50e409fb 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/util/JTextFieldWithWidth.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/util/JTextFieldWithWidth.java @@ -8,7 +8,7 @@ * Andrey Belomutskiy, (c) 2013-2020 */ public class JTextFieldWithWidth extends JTextField { - private int width; + private final int width; public JTextFieldWithWidth(int width) { this("", width); diff --git a/java_console/ui/src/main/java/com/rusefi/ui/widgets/AnyCommand.java b/java_console/ui/src/main/java/com/rusefi/ui/widgets/AnyCommand.java index fc08502d04..43e03d3f08 100644 --- a/java_console/ui/src/main/java/com/rusefi/ui/widgets/AnyCommand.java +++ b/java_console/ui/src/main/java/com/rusefi/ui/widgets/AnyCommand.java @@ -147,7 +147,7 @@ public static String prepareCommand(String rawCommand, LinkManager linkManager) private static void handleStimulationSelfCheck(String rawCommand, LinkManager linkManager) { String[] parts = rawCommand.split(" ", 4); if (parts.length != 4) { - MessagesCentral.getInstance().postMessage(AnyCommand.class, "Invalid command length " + parts); + MessagesCentral.getInstance().postMessage(AnyCommand.class, "Invalid command length " + parts.length); return; // let's ignore invalid command } int rpm = Integer.parseInt(parts[1]); diff --git a/java_console/ui/src/main/java/com/rusefi/ui/widgets/IdleLabel.java b/java_console/ui/src/main/java/com/rusefi/ui/widgets/IdleLabel.java deleted file mode 100644 index 9e420662c0..0000000000 --- a/java_console/ui/src/main/java/com/rusefi/ui/widgets/IdleLabel.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.rusefi.ui.widgets; - -import com.rusefi.core.Sensor; -import com.rusefi.core.SensorCentral; - -import javax.swing.*; - -/** - * 8/2/13 - * Andrey Belomutskiy, (c) 2013-2020 - */ -public class IdleLabel extends JLabel { - public IdleLabel() { -// SensorCentral.getInstance().addListener(Sensor.IDLE_SWITCH, new SensorCentral.SensorListener() { -// @Override -// public void onSensorUpdate(double value) { -// IdleLabel.this.setText("Idle: " + (value == 0)); -// } -// }); - } -} diff --git a/java_console/ui/src/main/java/com/rusefi/ui/widgets/PotCommand.java b/java_console/ui/src/main/java/com/rusefi/ui/widgets/PotCommand.java deleted file mode 100644 index e29da172db..0000000000 --- a/java_console/ui/src/main/java/com/rusefi/ui/widgets/PotCommand.java +++ /dev/null @@ -1,110 +0,0 @@ -package com.rusefi.ui.widgets; - -import com.rusefi.core.MessagesCentral; -//import com.rusefi.EcuStimulator; -import com.rusefi.io.CommandQueue; - -import javax.swing.*; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.*; - -/** - * Date: 3/17/13 - * Andrey Belomutskiy, (c) 2013-2020 - */ -/* -public class PotCommand { - public static final double VOLTAGE_CORRECTION = 2.9 / 3; - public final JPanel panel; - final JSpinner potSpinner; - - public PotCommand(final int channel) { - final JLabel rValue = new JLabel(); - - final JSpinner voltageSpinner = new JSpinner(new SpinnerNumberModel(0.0, 0, 5, 0.1)) { - @Override - public Dimension getPreferredSize() { - Dimension size = super.getPreferredSize(); - return new Dimension(100, size.height); - } - }; - ((SpinnerNumberModel) voltageSpinner.getModel()).setStepSize(0.1); - voltageSpinner.setValue(1.0); -/* - voltageSpinner.addChangeListener(new ChangeListener() { - @Override - public void stateChanged(ChangeEvent e) { - Double Vout = (Double) voltageSpinner.getValue(); - int d = getPotResistance(Vout, SensorCentral.getInstance().getValue(Sensor.VREF) * VOLTAGE_CORRECTION); - potSpinner.setValue(d); - } - }); -*/ -/* - potSpinner = new JSpinner() { - @Override - public Dimension getPreferredSize() { - Dimension size = super.getPreferredSize(); - return new Dimension(100, size.height); - } - }; - potSpinner.addChangeListener(new ChangeListener() { - @Override - public void stateChanged(ChangeEvent e) { - Integer value = (Integer) potSpinner.getValue(); - try { - requestPotChange(channel, value); - } catch (IllegalArgumentException ignore) { - return; - } - int r = getRbyD(value); - rValue.setText("R=" + r); - } - }); - potSpinner.setValue(10); - - - JPanel upper = new JPanel(new FlowLayout(FlowLayout.LEFT)); - upper.add(new JLabel("set pot" + channel + ": ")); - upper.add(potSpinner); - upper.add(rValue); - - JPanel center = new JPanel(new FlowLayout(FlowLayout.LEFT)); - center.add(new JLabel("volts: ")); - center.add(voltageSpinner); - - panel = new JPanel(new BorderLayout()); - panel.setBorder(BorderFactory.createLineBorder(Color.CYAN)); - panel.add(upper, BorderLayout.NORTH); - panel.add(center, BorderLayout.CENTER); - } - - public static void requestPotChange(int channel, int resistance) { - if (resistance < 0 || resistance > 10000) - throw new IllegalArgumentException("resistance: " + resistance); - CommandQueue commandQueue = null; - commandQueue.write("pot " + channel + " " + resistance); - } - - public static int getPotResistance(double vout, double vRef) { - double r = getR1InVoltageDivider3(vout, vRef, EcuStimulator.getInstance().getInputs().getEngineLoadR2Resistance()); - MessagesCentral.getInstance().postMessage(PotCommand.class, "VRef=" + vRef + ", needed resistance: " + r); - // pot command accept resistance and does the conversion itself - return (int) r; - } - - private static int getRbyD(Integer value) { - return (int) (10000.0 * (256 - value) / 256) + 52; - } - -// private static int getDbyR(double Rwa) { -// return (int) (256 - (Rwa - 52) * 256 / 10000); -// } - - public static double getR1InVoltageDivider3(double Vout, double Vin, double r2) { - return r2 * Vout / Vin; - } - -} -*/ \ No newline at end of file diff --git a/java_console/ui/src/main/resources/com/rusefi/speedinfo.jpg b/java_console/ui/src/main/resources/com/rusefi/speedinfo.jpg deleted file mode 100644 index f673da8d1d..0000000000 Binary files a/java_console/ui/src/main/resources/com/rusefi/speedinfo.jpg and /dev/null differ diff --git a/java_console/ui/src/test/java/com/rusefi/io/TcpCommunicationIntegrationTest.java b/java_console/ui/src/test/java/com/rusefi/io/TcpCommunicationIntegrationTest.java index 3bd8783085..f1fd45ea9f 100644 --- a/java_console/ui/src/test/java/com/rusefi/io/TcpCommunicationIntegrationTest.java +++ b/java_console/ui/src/test/java/com/rusefi/io/TcpCommunicationIntegrationTest.java @@ -7,13 +7,10 @@ import com.rusefi.config.generated.Fields; import com.rusefi.io.tcp.BinaryProtocolServer; import com.rusefi.io.tcp.TcpConnector; -import com.rusefi.ui.StatusConsumer; import org.junit.Test; -import java.io.IOException; import java.util.Objects; import java.util.concurrent.CountDownLatch; -import java.util.concurrent.atomic.AtomicInteger; import static com.rusefi.TestHelper.assertLatch; import static org.junit.Assert.assertEquals; diff --git a/java_console/ui/src/test/java/com/rusefi/models/test/SoftLimiterSandbox.java b/java_console/ui/src/test/java/com/rusefi/models/test/SoftLimiterSandbox.java index 85d3eb622c..27b7dadeee 100644 --- a/java_console/ui/src/test/java/com/rusefi/models/test/SoftLimiterSandbox.java +++ b/java_console/ui/src/test/java/com/rusefi/models/test/SoftLimiterSandbox.java @@ -4,7 +4,7 @@ import java.util.Random; public class SoftLimiterSandbox { - private Random r = new Random(); + private final Random r = new Random(); public static void main(String[] args) { new SoftLimiterSandbox().testSoftLimit(); diff --git a/java_console/ui/src/test/java/com/rusefi/ui/TuneReadWriteTest.java b/java_console/ui/src/test/java/com/rusefi/ui/TuneReadWriteTest.java deleted file mode 100644 index 4c0a18f1ff..0000000000 --- a/java_console/ui/src/test/java/com/rusefi/ui/TuneReadWriteTest.java +++ /dev/null @@ -1,115 +0,0 @@ -package com.rusefi.ui; - -import com.opensr5.ConfigurationImage; -import com.opensr5.ini.IniFileModel; -import com.opensr5.ini.field.IniField; -import com.opensr5.io.ConfigurationImageFile; -import com.rusefi.binaryprotocol.MsqFactory; -import com.rusefi.config.generated.Fields; -import com.rusefi.tune.xml.Constant; -import com.rusefi.tune.xml.Msq; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; - -import java.nio.file.Files; -import java.nio.file.Path; - -import static org.junit.Assert.*; - -/** - * from IDEA this unit test needs to be executed with "empty" working directory - */ -@Ignore // todo: https://github.com/rusefi/rusefi/issues/4669 -public class TuneReadWriteTest { - private static final String PATH = "src/test/resources/frankenso/"; - private static final String TEST_INI = PATH + "mainController.ini"; - private static final String TEST_BINARY_FILE = PATH + "current_configuration.rusefi_binary"; - private static final int LEGACY_TOTAL_CONFIG_SIZE = 20000; - - @Before - public void before() { - IniFileModel.getInstance().readIniFile(TEST_INI); - } - - @Test - public void testCompareBinaryToTSTune() throws Exception { - Msq tsTune = Msq.readTune(PATH + "CurrentTune.msq"); - System.out.println(tsTune); - assertNotNull("signature", tsTune.getVersionInfo().getSignature()); - - Constant flow = tsTune.findPage().findParameter("injector_flow"); - assertNotNull(flow); - assertEquals("2", flow.getDigits()); - - ConfigurationImage tsBinaryData = tsTune.asImage(IniFileModel.getInstance(), LEGACY_TOTAL_CONFIG_SIZE); - - System.out.println("Reading " + TEST_BINARY_FILE); - ConfigurationImage fileBinaryData = ConfigurationImageFile.readFromFile(TEST_BINARY_FILE); - - int mismatchCounter = compareImages(tsBinaryData, fileBinaryData); - assertEquals(0, mismatchCounter); - } - - @Test - public void testWriteAndReadTSTune() throws Exception { - ConfigurationImage fileBinaryData = ConfigurationImageFile.readFromFile(TEST_BINARY_FILE); - - Path path = Files.createTempFile("unit_test_", ".xml"); - String fileName = path.getFileName().toString(); - - // writing TS XML tune file with rusEFI code - Msq tuneFromBinary = MsqFactory.valueOf(fileBinaryData); - tuneFromBinary.writeXmlFile(fileName); - - Constant batteryCorrection = tuneFromBinary.findPage().findParameter("injector_battLagCorrBins"); - assertNotNull(batteryCorrection); - assertEquals("2", batteryCorrection.getDigits()); - - Constant flow = tuneFromBinary.findPage().findParameter("injector_flow"); - assertNotNull(flow); - assertEquals("2", flow.getDigits()); - - Constant nonEmptyFormula = tuneFromBinary.findPage().findParameter("fsioFormulas1"); - assertNotNull(nonEmptyFormula); - - /** - * Empty strings values should be omitted from the tune - */ - Constant emptyFormula = tuneFromBinary.findPage().findParameter("fsioFormulas2"); - assertNull(emptyFormula); - - Constant enumField = tuneFromBinary.findPage().findParameter("acRelayPin"); - // quotes are expected - assertEquals("\"NONE\"", enumField.getValue()); - - // and now reading that XML back - Msq tuneFromFile = Msq.readTune(fileName); - assertNotNull(tuneFromFile.getVersionInfo().getSignature()); - - ConfigurationImage binaryDataFromXml = tuneFromFile.asImage(IniFileModel.getInstance(), LEGACY_TOTAL_CONFIG_SIZE); - - assertEquals(0, compareImages(binaryDataFromXml, fileBinaryData)); - // todo: looks like this is not removing the temporary file? - Files.delete(path); - } - - private static int compareImages(ConfigurationImage image1, ConfigurationImage fileData) { - byte[] tsBinaryDataContent = image1.getContent(); - byte[] fileBinaryDataContent = fileData.getContent(); - - int mismatchCounter = 0; - - for (int i = 0; i < tsBinaryDataContent.length; i++) { - byte tsByte = tsBinaryDataContent[i]; - byte fileByte = fileBinaryDataContent[i]; - if (tsByte != fileByte) { - IniField field = IniFileModel.getInstance().findByOffset(i); - System.out.println("Mismatch at offset=" + i + ", " + (field == null ? "(no field)" : field) + " runtime=" + tsByte + "/file=" + fileByte); - mismatchCounter++; - } - } - System.out.println("Total mismatch count " + mismatchCounter); - return mismatchCounter; - } -} diff --git a/java_console/ui/src/test/java/com/rusefi/ui/engine/test/UpDownSandbox.java b/java_console/ui/src/test/java/com/rusefi/ui/engine/test/UpDownSandbox.java index 29fddf87c0..3b1eb04aef 100644 --- a/java_console/ui/src/test/java/com/rusefi/ui/engine/test/UpDownSandbox.java +++ b/java_console/ui/src/test/java/com/rusefi/ui/engine/test/UpDownSandbox.java @@ -32,11 +32,6 @@ public UpDownSandbox() { } public static void main(String[] args) throws InvocationTargetException, InterruptedException { - SwingUtilities.invokeAndWait(new Runnable() { - @Override - public void run() { - new UpDownSandbox(); - } - }); + SwingUtilities.invokeAndWait(UpDownSandbox::new); } } diff --git a/java_console/ui/src/test/java/com/rusefi/ui/test/EngineSnifferPanelTest.java b/java_console/ui/src/test/java/com/rusefi/ui/test/EngineSnifferPanelTest.java index 2b0e9e58b5..fc0bf36fc3 100644 --- a/java_console/ui/src/test/java/com/rusefi/ui/test/EngineSnifferPanelTest.java +++ b/java_console/ui/src/test/java/com/rusefi/ui/test/EngineSnifferPanelTest.java @@ -2,7 +2,6 @@ import com.rusefi.config.generated.Fields; import com.rusefi.ui.engine.EngineSnifferPanel; -import com.rusefi.ui.engine.NameUtil; import org.junit.Test; import java.util.Set; diff --git a/java_console/ui/src/test/java/com/rusefi/ui/test/WavePanelSandbox.java b/java_console/ui/src/test/java/com/rusefi/ui/test/WavePanelSandbox.java index 582b1f0f20..9ad01beb9b 100644 --- a/java_console/ui/src/test/java/com/rusefi/ui/test/WavePanelSandbox.java +++ b/java_console/ui/src/test/java/com/rusefi/ui/test/WavePanelSandbox.java @@ -57,6 +57,6 @@ private void printAngles(String value, int from, int to) { } public static void main(String[] args) throws InvocationTargetException, InterruptedException { - SwingUtilities.invokeAndWait(() -> new WavePanelSandbox()); + SwingUtilities.invokeAndWait(WavePanelSandbox::new); } } diff --git a/java_tools/ConfigDefinition.jar b/java_tools/ConfigDefinition.jar index 6bdbdf6409..05640f8df9 100644 Binary files a/java_tools/ConfigDefinition.jar and b/java_tools/ConfigDefinition.jar differ diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigFieldImpl.java b/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigFieldImpl.java index 73d4664cc0..de4d3d64a4 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigFieldImpl.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/ConfigFieldImpl.java @@ -95,7 +95,7 @@ public ConfigFieldImpl(ReaderStateImpl state, String[] tokens = getTokens(); if (tokens.length > 1) { String scale = tokens[1].trim(); - Double scaleDouble; + double scaleDouble; try { scaleDouble = Double.parseDouble(scale); } catch (NumberFormatException ignore) { diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/ExtraUtil.java b/java_tools/configuration_definition/src/main/java/com/rusefi/ExtraUtil.java index 95554c563e..7ddd7d8f21 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/ExtraUtil.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/ExtraUtil.java @@ -1,7 +1,5 @@ package com.rusefi; -import com.rusefi.newparse.DefinitionsState; -import com.rusefi.newparse.parsing.Definition; import com.rusefi.util.LazyFile; import com.rusefi.util.SystemOut; diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/IoUtil2.java b/java_tools/configuration_definition/src/main/java/com/rusefi/IoUtil2.java index 727877fb22..cc602fb6ee 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/IoUtil2.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/IoUtil2.java @@ -18,8 +18,7 @@ static String readFile(String fileName) { try { try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) { - while (true) { - if (!((line = reader.readLine()) != null)) break; + while ((line = reader.readLine()) != null) { stringBuilder.append(line); stringBuilder.append(ls); } diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/PinType.java b/java_tools/configuration_definition/src/main/java/com/rusefi/PinType.java index b705e2f323..7d21c15166 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/PinType.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/PinType.java @@ -1,7 +1,5 @@ package com.rusefi; -import static com.rusefi.VariableRegistry.ENUM_SUFFIX; - public enum PinType { OUTPUTS("output_pin_e", "Gpio", "Unassigned"), ANALOG_INPUTS("adc_channel_e", "adc_channel_e", "EFI_ADC_NONE"), diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/ReaderStateImpl.java b/java_tools/configuration_definition/src/main/java/com/rusefi/ReaderStateImpl.java index 0d80fb05ca..aed82e8149 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/ReaderStateImpl.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/ReaderStateImpl.java @@ -99,7 +99,7 @@ public void doJob() throws IOException { * the destinations/writers */ SystemOut.println("Reading definition from " + definitionInputFile); - BufferedReader definitionReader = new BufferedReader(new InputStreamReader(new FileInputStream(definitionInputFile), IoUtils.CHARSET.name())); + BufferedReader definitionReader = new BufferedReader(new InputStreamReader(new FileInputStream(definitionInputFile), IoUtils.CHARSET)); readBufferedReader(definitionReader, destinations); } diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/LiveDataProcessor.java b/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/LiveDataProcessor.java index 67ec2f4227..130a8dc4bf 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/LiveDataProcessor.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/LiveDataProcessor.java @@ -3,12 +3,9 @@ import com.devexperts.logging.Logging; import com.rusefi.EnumToString; import com.rusefi.InvokeReader; -import com.rusefi.ReaderState; import com.rusefi.ReaderStateImpl; import com.rusefi.RusefiParseErrorStrategy; import com.rusefi.newparse.ParseState; -import com.rusefi.newparse.outputs.CStructWriter; -import com.rusefi.newparse.outputs.OutputChannelWriter; import com.rusefi.newparse.parsing.Definition; import com.rusefi.output.*; import com.rusefi.util.LazyFile; @@ -133,12 +130,12 @@ public void onEntry(String name, String javaName, String folder, String prepend, if (constexpr != null) { sdCardFieldsConsumer.home = constexpr; sdCardFieldsConsumer.isPtr = isPtr; - state.addDestination((state1, structure) -> sdCardFieldsConsumer.handleEndStruct(state1, structure)); + state.addDestination(sdCardFieldsConsumer::handleEndStruct); outputValueConsumer.currentSectionPrefix = constexpr; outputValueConsumer.conditional = conditional; outputValueConsumer.isPtr = isPtr; - state.addDestination((state1, structure) -> outputValueConsumer.handleEndStruct(state1, structure)); + state.addDestination(outputValueConsumer::handleEndStruct); } @@ -176,9 +173,9 @@ public void onEntry(String name, String javaName, String folder, String prepend, }; - ArrayList liveDocs = (ArrayList) data.get("Usages"); + ArrayList> liveDocs = (ArrayList>) data.get("Usages"); - for (LinkedHashMap entry : liveDocs) { + for (LinkedHashMap entry : liveDocs) { String name = (String) entry.get("name"); String java = (String) entry.get("java"); String folder = (String) entry.get("folder"); diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/newparse/layout/StructLayout.java b/java_tools/configuration_definition/src/main/java/com/rusefi/newparse/layout/StructLayout.java index 6f03d250ae..fbee0c29ae 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/newparse/layout/StructLayout.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/newparse/layout/StructLayout.java @@ -12,7 +12,6 @@ public class StructLayout extends Layout { public final String typeName; private final String name; - private final String comment; private final Boolean noPrefix; private final int size; @@ -46,7 +45,9 @@ public StructLayout(int offset, String name, Struct parsedStruct) { this.typeName = parsedStruct.name; this.name = name; - this.comment = parsedStruct.comment; + + // TODO: should comment be used? + String comment = parsedStruct.comment; this.noPrefix = parsedStruct.noPrefix; int initialOffest = offset; diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java index a7b9d9f145..ddfb0a3062 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java @@ -52,20 +52,22 @@ public static String packComment(String comment, String linePrefix) { return ""; if (comment.trim().isEmpty()) return ""; - String result = ""; + StringBuilder result = new StringBuilder(); for (String line : comment.split("\\\\n")) { - result += linePrefix + line + EOL; + result.append(linePrefix); + result.append(line); + result.append(EOL); } - return result; + return result.toString(); } @Override public void handleEndStruct(ReaderState readerState, ConfigStructure structure) { if (structure.getComment() != null) { - content.append(packComment(structure.getComment(), "// ") + EOL); + content.append(packComment(structure.getComment(), "// ")).append(EOL); } - content.append("struct " + structure.getName() + " {" + EOL); + content.append("struct ").append(structure.getName()).append(" {").append(EOL); FieldIteratorWithOffset iterator = new FieldIteratorWithOffset(structure.getcFields()); for (int i = 0; i < structure.getcFields().size(); i++) { @@ -77,7 +79,7 @@ public void handleEndStruct(ReaderState readerState, ConfigStructure structure) } content.append("};" + EOL); - content.append("static_assert(sizeof(" + structure.getName() + ") == " + iterator.currentOffset + ");\n"); + content.append("static_assert(sizeof(").append(structure.getName()).append(") == ").append(iterator.currentOffset).append(");\n"); content.append(EOL); } diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/CHeaderConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/CHeaderConsumer.java index 460d0694df..2f3dcb662e 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/CHeaderConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/CHeaderConsumer.java @@ -14,8 +14,6 @@ * Configuration consumer which writes C header file */ public class CHeaderConsumer extends BaseCHeaderConsumer { - @NotNull - private final ReaderStateImpl state; /** * looks like sometimes we want to not include "define XXX value" into generated C headers * TODO: document the use-case better @@ -26,7 +24,6 @@ public class CHeaderConsumer extends BaseCHeaderConsumer { public CHeaderConsumer(ReaderStateImpl state, String destCHeader, boolean withC_Defines) { this.variableRegistry = state.getVariableRegistry(); - this.state = state; this.withC_Defines = withC_Defines; SystemOut.println("Writing C header to " + destCHeader); cHeader = new LazyFile(destCHeader); @@ -38,7 +35,7 @@ public CHeaderConsumer(ReaderStateImpl state, String destCHeader, boolean withC_ public void endFile() throws IOException { if (withC_Defines) cHeader.write(variableRegistry.getDefinesSection()); - cHeader.write(getContent().toString()); + cHeader.write(getContent()); cHeader.close(); } } diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldIteratorWithOffset.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldIteratorWithOffset.java index eb7fe80a05..b6c6f47cda 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldIteratorWithOffset.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/FieldIteratorWithOffset.java @@ -1,7 +1,6 @@ package com.rusefi.output; import com.rusefi.ConfigField; -import com.rusefi.ConfigFieldImpl; import java.util.List; diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/FragmentDialogConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/FragmentDialogConsumer.java index 9d0ac487b9..56bc8cd935 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/FragmentDialogConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/FragmentDialogConsumer.java @@ -1,7 +1,6 @@ package com.rusefi.output; import com.rusefi.ConfigField; -import com.rusefi.ConfigFieldImpl; import com.rusefi.ReaderState; import org.jetbrains.annotations.NotNull; diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetConfigValueConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetConfigValueConsumer.java index cc623c30bc..492bd48eec 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetConfigValueConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetConfigValueConsumer.java @@ -1,10 +1,8 @@ package com.rusefi.output; import com.rusefi.ConfigField; -import com.rusefi.ConfigFieldImpl; import com.rusefi.ReaderState; import com.rusefi.TypesHelper; -import com.rusefi.core.Tuple; import com.rusefi.output.variables.VariableRecord; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetOutputValueConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetOutputValueConsumer.java index dd2596d537..9d1b837b45 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetOutputValueConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/GetOutputValueConsumer.java @@ -3,7 +3,6 @@ import com.rusefi.ConfigField; import com.rusefi.ReaderState; import com.rusefi.TypesHelper; -import com.rusefi.core.Pair; import com.rusefi.output.variables.VariableRecord; import org.jetbrains.annotations.NotNull; diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/PerFieldWithStructuresIterator.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/PerFieldWithStructuresIterator.java index a8c99d52df..327a2665cd 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/PerFieldWithStructuresIterator.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/PerFieldWithStructuresIterator.java @@ -1,7 +1,6 @@ package com.rusefi.output; import com.rusefi.ConfigField; -import com.rusefi.ConfigFieldImpl; import com.rusefi.ReaderState; import java.util.List; diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/SdCardFieldsConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/SdCardFieldsConsumer.java index b9b748218d..da869f6a01 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/SdCardFieldsConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/SdCardFieldsConsumer.java @@ -24,10 +24,10 @@ public void endFile() throws IOException { } public static void wrapContent(LazyFile output, String content) { - output.write("static constexpr LogField fields[] = {\r\n" + + output.write("static constexpr LogField fields[] = {\n" + "{packedTime, GAUGE_NAME_TIME, \"sec\", 0},\n"); output.write(content); - output.write("};\r\n"); + output.write("};\n"); } @Override diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/SdCardFieldsContent.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/SdCardFieldsContent.java index 2892ac487f..52384ef1a1 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/SdCardFieldsContent.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/SdCardFieldsContent.java @@ -1,7 +1,5 @@ package com.rusefi.output; -import com.rusefi.core.SensorCategory; - import com.rusefi.ConfigField; import com.rusefi.ReaderState; diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/TSProjectConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/TSProjectConsumer.java index 6f7a77497f..0537178b31 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/TSProjectConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/TSProjectConsumer.java @@ -69,7 +69,7 @@ protected void writeContent(String fieldsSection, TsFileContent tsContent, Outpu */ private TsFileContent readTsTemplateInputFile(String tsPath) throws IOException { String fileName = getTsFileInputName(tsPath); - BufferedReader r = new BufferedReader(new InputStreamReader(new FileInputStream(fileName), CHARSET.name())); + BufferedReader r = new BufferedReader(new InputStreamReader(new FileInputStream(fileName), CHARSET)); StringBuilder prefix = new StringBuilder(); StringBuilder postfix = new StringBuilder(); @@ -98,11 +98,15 @@ private TsFileContent readTsTemplateInputFile(String tsPath) throws IOException line = state.getVariableRegistry().applyVariables(line); - if (isBeforeStartTag) - prefix.append(line + ToolUtil.EOL); + if (isBeforeStartTag) { + prefix.append(line); + prefix.append(ToolUtil.EOL); + } - if (isAfterEndTag) - postfix.append(state.getVariableRegistry().applyVariables(line) + ToolUtil.EOL); + if (isAfterEndTag) { + postfix.append(state.getVariableRegistry().applyVariables(line)); + postfix.append(ToolUtil.EOL); + } } r.close(); return new TsFileContent(prefix.toString(), postfix.toString()); @@ -120,12 +124,12 @@ public static String removeToken(String line) { public static String getToken(String line) { int index = line.indexOf(TS_CONDITION) + TS_CONDITION.length(); - String token = ""; + StringBuilder token = new StringBuilder(); while (index < line.length() && !Character.isWhitespace(line.charAt(index))) { - token += line.charAt(index); + token.append(line.charAt(index)); index++; } - return token; + return token.toString(); } private String getTsFileOutputName(String tsPath) { diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/variables/VariableRecord.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/variables/VariableRecord.java index bd20c3dc64..f68cdfe057 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/variables/VariableRecord.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/variables/VariableRecord.java @@ -1,7 +1,5 @@ package com.rusefi.output.variables; -import com.rusefi.core.Pair; - public class VariableRecord { public final String type; private final String humanName; diff --git a/java_tools/configuration_definition/src/test/java/com/rusefi/pinout/PinoutLogicIntegratedTest.java b/java_tools/configuration_definition/src/test/java/com/rusefi/pinout/PinoutLogicIntegratedTest.java index e9c2b41e6f..5bb9cb4123 100644 --- a/java_tools/configuration_definition/src/test/java/com/rusefi/pinout/PinoutLogicIntegratedTest.java +++ b/java_tools/configuration_definition/src/test/java/com/rusefi/pinout/PinoutLogicIntegratedTest.java @@ -1,9 +1,6 @@ package com.rusefi.pinout; -import com.rusefi.EnumsReader; -import com.rusefi.ReaderState; import com.rusefi.ReaderStateImpl; -import com.rusefi.VariableRegistry; import com.rusefi.enum_reader.Value; import com.rusefi.newparse.ParseState; import org.junit.Test; diff --git a/java_tools/configuration_definition/src/test/java/com/rusefi/test/newParse/ParseDefinitionsTest.java b/java_tools/configuration_definition/src/test/java/com/rusefi/test/newParse/ParseDefinitionsTest.java index c3e2de2cf7..7c15d04873 100644 --- a/java_tools/configuration_definition/src/test/java/com/rusefi/test/newParse/ParseDefinitionsTest.java +++ b/java_tools/configuration_definition/src/test/java/com/rusefi/test/newParse/ParseDefinitionsTest.java @@ -110,7 +110,7 @@ public void definitionOverwritePolicyReplace() throws IOException { // Should get back the new definition, not the old one Definition def2 = state.findDefinition("val"); - Assert.assertTrue(def != def2); + Assert.assertNotSame(def, def2); Assert.assertEquals(40, def2.asDouble(), 1e-5); } diff --git a/java_tools/enum2string.jar b/java_tools/enum2string.jar index 58287b92bd..ff84281a38 100644 Binary files a/java_tools/enum2string.jar and b/java_tools/enum2string.jar differ diff --git a/java_tools/enum_to_string/src/main/java/com/rusefi/EnumsReader.java b/java_tools/enum_to_string/src/main/java/com/rusefi/EnumsReader.java index d30d23e30c..d7b149eb1a 100644 --- a/java_tools/enum_to_string/src/main/java/com/rusefi/EnumsReader.java +++ b/java_tools/enum_to_string/src/main/java/com/rusefi/EnumsReader.java @@ -99,7 +99,7 @@ public static Map readStatic(Reader in) throws IOException { if (isInsideEnum) { if (isKeyValueLine(line)) { line = line.replace(",", ""); - String value = ""; + String value; int index = line.indexOf('='); if (index != -1) { value = line.substring(index + 1); diff --git a/java_tools/enum_to_string/src/main/java/com/rusefi/InvokeReader.java b/java_tools/enum_to_string/src/main/java/com/rusefi/InvokeReader.java index 37399d2914..bb9bb01a6c 100644 --- a/java_tools/enum_to_string/src/main/java/com/rusefi/InvokeReader.java +++ b/java_tools/enum_to_string/src/main/java/com/rusefi/InvokeReader.java @@ -2,7 +2,6 @@ import com.rusefi.util.SystemOut; -import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -16,7 +15,7 @@ public class InvokeReader { private String[] args; private String outputPath; - private List definitionInputFiles = new ArrayList<>(); + private final List definitionInputFiles = new ArrayList<>(); private List inputFiles = new ArrayList<>(); private String inputPath = "."; diff --git a/java_tools/enum_to_string/src/main/java/com/rusefi/ToolUtil.java b/java_tools/enum_to_string/src/main/java/com/rusefi/ToolUtil.java index b9baa786aa..d6fff5d9ed 100644 --- a/java_tools/enum_to_string/src/main/java/com/rusefi/ToolUtil.java +++ b/java_tools/enum_to_string/src/main/java/com/rusefi/ToolUtil.java @@ -1,9 +1,6 @@ package com.rusefi; import com.devexperts.logging.Logging; -import com.rusefi.util.LazyFile; - -import java.net.URISyntaxException; import static com.devexperts.logging.Logging.getLogging; diff --git a/java_tools/enum_to_string/src/main/java/com/rusefi/VariableRegistry.java b/java_tools/enum_to_string/src/main/java/com/rusefi/VariableRegistry.java index be18f1ae3b..6a91136e05 100644 --- a/java_tools/enum_to_string/src/main/java/com/rusefi/VariableRegistry.java +++ b/java_tools/enum_to_string/src/main/java/com/rusefi/VariableRegistry.java @@ -149,9 +149,9 @@ public static String getHumanSortedTsKeyValueString(Map valueNa TreeMap humanDropDownSorted = new TreeMap<>((o1, o2) -> { if (o1.intValue() == o2) return 0; - if (o1.intValue() == 0) + if (o1 == 0) return -1; // "None" always go first - if (o2.intValue()==0) + if (o2 ==0) return 1; return valueNameById.get(o1).compareTo(valueNameById.get(o2)); }); @@ -160,7 +160,9 @@ public static String getHumanSortedTsKeyValueString(Map valueNa StringBuilder sb = new StringBuilder(); for (Map.Entry e : humanDropDownSorted.entrySet()) { appendCommaIfNeeded(sb); - sb.append(e.getKey() + "=" + quote(e.getValue())); + sb.append(e.getKey()); + sb.append('='); + sb.append(quote(e.getValue())); } return sb.toString(); } @@ -334,7 +336,7 @@ public void put(String key, String value) { } @Nullable - public String get(Object key) { + public String get(String key) { return data.get(key); } } diff --git a/misc/benchmark.bat b/misc/benchmark.bat deleted file mode 100644 index 29e3254437..0000000000 --- a/misc/benchmark.bat +++ /dev/null @@ -1,14 +0,0 @@ -rem -rem This script is measuring compilation time -rem - -cd ../firmware - -echo Are you using the right -jX value? > benchmark.txt -echo Startting clean for benchmark outside of time measurment >> benchmark.txt -make clean -echo Startting build for benchmark >> benchmark.txt -powershell get-date -format "{dd-MMM-yyyy HH:mm:ss}" >> benchmark.txt -make -j4 -echo Done! >> benchmark.txt -powershell get-date -format "{dd-MMM-yyyy HH:mm:ss}" >> benchmark.txt diff --git a/misc/benchmark_reports.txt b/misc/benchmark_reports.txt deleted file mode 100644 index 377e7536e9..0000000000 --- a/misc/benchmark_reports.txt +++ /dev/null @@ -1,35 +0,0 @@ -** Dell e6530 laptop ~2012: i7-3740QM@2.7GHz, 8GB RAM, 400GB SSD, Win7, gcc 7.3.1 -j8 option to run with 8 cores -~1:30 -09-Jan-2019 13:27:43 -Done! -09-Jan-2019 13:29:09 - - -** Dell e6530 laptop ~2012: i7-3740QM@2.7GHz, 8GB RAM, 400GB SSD, Win7, gcc 7.3.1 -j4 option to run with 4 cores -~1:40 -09-Jan-2019 13:16:41 -Done! -09-Jan-2019 13:18:25 - - -*** Dell OptiPlex 790 desktop ~2011 "Ohio reformatory for women": i5-2400@3.1GHz, 4GB RAM, 60GB SSD, Win7, gcc 7.3.1 -j4 option to run with 4 cores -~1:30 -27-Dec-2018 19:36:14 -Done! -27-Dec-2018 19:37:44 - - -*** Dell e6410 laptop ~2011: i5 M520@2.4GHz, 8GB RAM, 1TB SSD, Win7, gcc 7.3.1 - -j4 option to run with 4 cores -~3 minutes -Startting build for benchmark -27-Dec-2018 19:15:12 -Done! -27-Dec-2018 19:18:08 - - -*** Dell e6410 laptop ~2011: i5 M520@2.4GHz, 8GB RAM, 1TB SSD, Win7, gcc 7.3.1 - looks like single core mode? -~6 minutes -Startting build for benchmark -27-Dec-2018 19:06:48 -Done! -27-Dec-2018 19:12:51 diff --git a/misc/extract_trigger_angles.py b/misc/extract_trigger_angles.py deleted file mode 100644 index 6782a9f12f..0000000000 --- a/misc/extract_trigger_angles.py +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/python2 - -# this script parses a rusEfi console log, extract analog_chart line and -# calculates average trigger angles -# author spags - -import numpy - - -# todo: change the sccript so that we do not need to hard-code trigger sequence length? -trigger_size = 10 - -rpm_max_change = 15 - - -AC_HEADER = 'analog_chart,' - -fp = open("target.csv") -data = {} - -last_time = 0 -rpm = 10000 -last_rpm = 0 - -for line in fp: - # Chuck the date - # todo: use ':' tag - line = line[35:] - - if line.startswith(AC_HEADER): - line = line.strip(AC_HEADER) - numbers = [float(n) for n in line.split('|')[:2 * trigger_size]] - - if abs(rpm-last_rpm) < rpm_max_change: - data[last_time] = numbers - else: - print "RPM Variance too great", last_rpm, rpm - last_rpm = rpm - - elif line.startswith('time'): - last_time = float(line.split(',')[1]) - last_rpm = rpm - rpm = float(line.split(',')[3]) - - else: - pass - -print "Got %d data points"%len(data) - -a = {} -for i in range(0, len(numbers)+1,2): - a[i] = numpy.zeros(len(data)) - -count = 0 - - -for time,numbers in data.iteritems(): - for i in range(0, len(numbers),2): - a[i][count] = numbers[i] - - count+=1 -print "Trigger\t\tStdDeviation" -print "-"*40 -for i in a.values(): - - - print "%f\t\t%f"%(numpy.average(i), i.std()) diff --git a/misc/git_scripts/git_add_upstream.bat b/misc/git_scripts/git_add_upstream.bat index 851efbcbde..5dfcbbbe2e 100644 --- a/misc/git_scripts/git_add_upstream.bat +++ b/misc/git_scripts/git_add_upstream.bat @@ -1,12 +1,8 @@ git remote -v -git remote add upstream https://github.com/rusefi/rusefi.git +git remote add upstream https://github.com/FOME-Tech/fome-fw.git rem The heros, in alpabetical order -git remote add andreika-git https://github.com/andreika-git/rusefi -git remote add DonaldBecker https://github.com/DonaldBecker/rusefi -git remote add dron0gus https://github.com/dron0gus/rusefi -git remote add mck1117 https://github.com/mck1117/rusefi -git remote add NOx-z https://github.com/NOx-z/rusefi -git remote add chuckwagoncomputing https://github.com/chuckwagoncomputing/rusefi +git remote add mck1117 https://github.com/mck1117/fome-fw +git remote add nmschulte https://github.com/nmschulte/fome-fw.git git remote -v diff --git a/misc/git_scripts/git_reset_to_upstream.bat b/misc/git_scripts/git_reset_to_upstream.bat index 10ab798133..0f11d2a0ce 100644 --- a/misc/git_scripts/git_reset_to_upstream.bat +++ b/misc/git_scripts/git_reset_to_upstream.bat @@ -1,4 +1,4 @@ -git remote add upstream https://github.com/rusefi/rusefi.git +git remote add upstream https://github.com/FOME-Tech/fome-fw.git git fetch upstream git checkout master diff --git a/misc/jenkins/build_working_folder.sh b/misc/jenkins/build_working_folder.sh index 711237042a..a1e6a11507 100755 --- a/misc/jenkins/build_working_folder.sh +++ b/misc/jenkins/build_working_folder.sh @@ -21,11 +21,9 @@ mkdir $FOLDER CONSOLE_FOLDER="$FOLDER/console" DRIVERS_FOLDER="$FOLDER/drivers" -OPENBLT_FOLDER="$CONSOLE_FOLDER/openblt" mkdir $CONSOLE_FOLDER mkdir $DRIVERS_FOLDER -mkdir $OPENBLT_FOLDER ls -l $FOLDER # this magic file is created manually using 'make_package2.bat' @@ -51,8 +49,12 @@ cp misc/console_launcher/fome_*.exe $CONSOLE_FOLDER cp java_console/*.dll $CONSOLE_FOLDER cp java_console/rusefi.xml $CONSOLE_FOLDER cp -r java_console/bin $FOLDER -cp firmware/ext/openblt/Host/BootCommander.exe $OPENBLT_FOLDER -cp firmware/ext/openblt/Host/libopenblt.dll $OPENBLT_FOLDER +cp firmware/ext/openblt/Host/libopenblt.dll $CONSOLE_FOLDER +cp firmware/ext/openblt/Host/libopenblt.so $CONSOLE_FOLDER +cp firmware/ext/openblt/Host/libopenblt.dylib $CONSOLE_FOLDER +cp firmware/ext/openblt/Host/openblt_jni.dll $CONSOLE_FOLDER +cp firmware/ext/openblt/Host/libopenblt_jni.so $CONSOLE_FOLDER +cp firmware/ext/openblt/Host/libopenblt_jni.dylib $CONSOLE_FOLDER cp misc/console_launcher/readme.html $FOLDER diff --git a/misc/libopenblt_jni/CMakeLists.txt b/misc/libopenblt_jni/CMakeLists.txt new file mode 100644 index 0000000000..6fc5ebe6ad --- /dev/null +++ b/misc/libopenblt_jni/CMakeLists.txt @@ -0,0 +1,37 @@ +cmake_minimum_required(VERSION 3.15) + +project(OpenBLTJni) + +set(CMAKE_BUILD_TYPE "Debug") + +find_package(Java COMPONENTS Development) +set(JAVA_AWT_INCLUDE_PATH NotNeeded) +find_package(JNI REQUIRED) + +if(APPLE) + # Build both arm64 and Intel + set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64") +endif(APPLE) + +set(CXX_STANDARD 20) + +# Set OpenBLT library related directory locations +set(LIBOPENBLT_LIB ${PROJECT_SOURCE_DIR}/../../firmware/ext/openblt/Host/) +set(LIBOPENBLT_INC ${LIBOPENBLT_LIB}/Source/LibOpenBLT) + +# Set library name of the OpenBLT Host Library +if(CMAKE_C_COMPILER_ID MATCHES MSVC) + # When building LibOpenBLT with Microsoft Visual Studio, "lib" was added to the name + # of the DLL. This needs to be done as well when linking the library. + set (LIBOPENBLT_LIBNAME libopenblt) +else() + set (LIBOPENBLT_LIBNAME openblt) +endif() + +add_library(openblt_jni SHARED) + +target_include_directories(openblt_jni PRIVATE ${LIBOPENBLT_INC}) +target_include_directories(openblt_jni PRIVATE ${JNI_INCLUDE_DIRS}) +target_link_directories(openblt_jni PRIVATE ${LIBOPENBLT_LIB}) +target_link_libraries(openblt_jni PRIVATE ${LIBOPENBLT_LIBNAME}) +target_sources(openblt_jni PRIVATE openblt_jni.cpp) diff --git a/misc/libopenblt_jni/build/.gitignore b/misc/libopenblt_jni/build/.gitignore new file mode 100644 index 0000000000..5e7d2734cf --- /dev/null +++ b/misc/libopenblt_jni/build/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore diff --git a/misc/libopenblt_jni/openblt_jni.cpp b/misc/libopenblt_jni/openblt_jni.cpp new file mode 100644 index 0000000000..254d1fb7a1 --- /dev/null +++ b/misc/libopenblt_jni/openblt_jni.cpp @@ -0,0 +1,298 @@ + + +#include + +// OpenBLT host library +#include "openblt.h" + +#include + +class Callbacks { +public: + Callbacks(JNIEnv* env, jobject jCallbacks, const char* phaseName, bool hasProgress) + : m_env(env) + , m_obj(jCallbacks) + , m_class(env->FindClass("com/rusefi/maintenance/OpenbltJni$OpenbltCallbacks")) + , m_log(env->GetMethodID(m_class, "log", "(Ljava/lang/String;)V")) + , m_phase(env->GetMethodID(m_class, "setPhase", "(Ljava/lang/String;Z)V")) + , m_updateProgress(env->GetMethodID(m_class, "updateProgress", "(I)V")) + , m_error(env->GetMethodID(m_class, "error", "(Ljava/lang/String;)V")) + { + phase(phaseName, hasProgress); + } + + void log(const char* line) { + jstring jLine = m_env->NewStringUTF(line); + m_env->CallObjectMethod(m_obj, m_error, jLine); + m_env->DeleteLocalRef(jLine); + } + + void updateProgress(int percent) { + m_env->CallIntMethod(m_obj, m_updateProgress, percent); + } + + void error(const char* err) { + jstring jErr = m_env->NewStringUTF(err); + m_env->CallObjectMethod(m_obj, m_error, jErr); + m_env->DeleteLocalRef(jErr); + } + +private: + JNIEnv* const m_env; + jobject const m_obj; + + jclass const m_class; + + jmethodID const m_log; + jmethodID const m_phase; + jmethodID const m_updateProgress; + jmethodID const m_error; + + void phase(const char* name, bool hasProgress) { + jstring jName = m_env->NewStringUTF(name); + m_env->CallObjectMethod(m_obj, m_phase, jName, hasProgress); + m_env->DeleteLocalRef(jName); + } +}; + +static bool loadFirmware(JNIEnv* env, jstring jFilename, jobject jCallbacks) { + Callbacks cb(env, jCallbacks, "Load firmware file", false); + + const char* filename = env->GetStringUTFChars(jFilename, 0); + + BltFirmwareInit(BLT_FIRMWARE_PARSER_SRECORD); + + if (BltFirmwareLoadFromFile(filename, 0) != BLT_RESULT_OK) { + cb.error("BltFirmwareLoadFromFile() not OK, failed to load firmware file."); + return false; + } + + env->ReleaseStringUTFChars(jFilename, filename); + + // Check that the file isn't empty + if (BltFirmwareGetSegmentCount() == 0) { + cb.error("BltFirmwareGetSegmentCount() returned 0"); + return false; + } + + return true; +} + +static tBltSessionSettingsXcpV10 xcpSettings; +static tBltTransportSettingsXcpV10Rs232 transportSettings; +static char s_portName[256]; + +static bool setupSerial(JNIEnv* env, jstring jSerialPort, jobject jCallbacks) { + Callbacks cb(env, jCallbacks, "Start session", false); + + xcpSettings.timeoutT1 = 1000; + xcpSettings.timeoutT3 = 2000; + xcpSettings.timeoutT4 = 10000; + xcpSettings.timeoutT5 = 1000; + xcpSettings.timeoutT6 = 50; + xcpSettings.timeoutT7 = 2000; + xcpSettings.seedKeyFile = nullptr; + xcpSettings.connectMode = 0; + + const char* portName = env->GetStringUTFChars(jSerialPort, 0); + strncpy(s_portName, portName, sizeof(s_portName)); + env->ReleaseStringUTFChars(jSerialPort, portName); + + transportSettings.portName = s_portName; + transportSettings.baudrate = 115200; + + BltSessionInit(BLT_SESSION_XCP_V10, &xcpSettings, BLT_TRANSPORT_XCP_V10_RS232, &transportSettings); + + if (BltSessionStart() != BLT_RESULT_OK) { + cb.error("BltSessionStart() failed"); + return false; + } + + return true; +} + +static bool setupCan(JNIEnv* env, jobject jCallbacks) { + Callbacks cb(env, jCallbacks, "Setup CAN", false); + + cb.error("CAN not supported yet!"); + return false; +} + +static bool erase(JNIEnv* env, jobject jCallbacks) { + Callbacks cb(env, jCallbacks, "Erase", true); + + int result = 0; + + uint32_t segmentIdx; + uint32_t segmentLen; + uint32_t segmentBase; + uint8_t const * segmentData; + + /* Erase the memory segments on the target that are covered by the firmwware data. */ + for (segmentIdx = 0; segmentIdx < BltFirmwareGetSegmentCount(); segmentIdx++) + { + /* Extract segment info. */ + segmentData = BltFirmwareGetSegment(segmentIdx, &segmentBase, &segmentLen); + /* Sanity check. */ + // Only continue if sanity check passed. + if ((segmentData == nullptr) || (segmentLen == 0)) + { + cb.error("BltFirmwareGetSegment not OK"); + return false; + } + + /* Perform erase operation. */ + + /* Perform erase operation in chunks, so that a progress update can be shown + * and no erase timeout occurs due to erasing too big of a memory range. + */ + uint32_t const eraseChunkSize = 32768; + uint32_t currentEraseCnt; + uint32_t currentEraseBase; + uint32_t currentEraseResult; + uint32_t stillToEraseCnt; + + stillToEraseCnt = segmentLen; + currentEraseBase = segmentBase; + while (stillToEraseCnt > 0) + { + /* Determine chunk size. */ + if (stillToEraseCnt >= eraseChunkSize) + { + currentEraseCnt = eraseChunkSize; + } + else + { + currentEraseCnt = stillToEraseCnt; + } + /* Erase the next chunk from the target's memory. */ + currentEraseResult = BltSessionClearMemory(currentEraseBase, currentEraseCnt); + if (currentEraseResult != BLT_RESULT_OK) + { + cb.error("BltSessionClearMemory not OK"); + return false; + } + /* Update loop variables. */ + currentEraseBase += currentEraseCnt; + stillToEraseCnt -= currentEraseCnt; + + uint8_t progressPct = (uint8_t)(((segmentLen - stillToEraseCnt) * 100ul) / segmentLen); + cb.updateProgress(progressPct); + } + } + + return true; +} + +static bool program(JNIEnv* env, jobject jCallbacks) { + Callbacks cb(env, jCallbacks, "Program", true); + + uint32_t segmentIdx; + uint32_t segmentLen; + uint32_t segmentBase; + uint8_t const * segmentData; + + int lastPercent = -1; + + /* Program the memory segments on the target with the firmware data. */ + for (segmentIdx = 0; segmentIdx < BltFirmwareGetSegmentCount(); segmentIdx++) + { + /* Extract segment info. */ + segmentData = BltFirmwareGetSegment(segmentIdx, &segmentBase, &segmentLen); + + // Only continue if sanity check passed. + if ((segmentData == nullptr) || (segmentLen == 0)) { + cb.error("BltFirmwareGetSegment not OK"); + return false; + } + + /* Perform write operation in chunks, so that a progress update can be shown. */ + uint32_t const writeChunkSize = 256; + uint32_t currentWriteCnt; + uint32_t currentWriteBase; + uint8_t const * currentWriteDataPtr; + uint32_t currentWriteResult; + uint32_t stillToWriteCnt; + + stillToWriteCnt = segmentLen; + currentWriteBase = segmentBase; + currentWriteDataPtr = segmentData; + while (stillToWriteCnt > 0) + { + /* Determine chunk size. */ + if (stillToWriteCnt >= writeChunkSize) + { + currentWriteCnt = writeChunkSize; + } + else + { + currentWriteCnt = stillToWriteCnt; + } + /* Write the next data chunk to the target's memory. */ + currentWriteResult = BltSessionWriteData(currentWriteBase, currentWriteCnt, + currentWriteDataPtr); + if (currentWriteResult != BLT_RESULT_OK) + { + cb.error("BltSessionWriteData not OK"); + return false; + } + + /* Update loop variables. */ + currentWriteBase += currentWriteCnt; + currentWriteDataPtr += currentWriteCnt; + stillToWriteCnt -= currentWriteCnt; + + int progressPct = (int)(((segmentLen - stillToWriteCnt) * 100ul) / segmentLen); + if (progressPct != lastPercent) { + cb.updateProgress(progressPct); + } + lastPercent = progressPct; + } + } + + return true; +} + +extern "C" JNIEXPORT void JNICALL Java_com_rusefi_maintenance_OpenbltJni_flashSerialNative(JNIEnv* env, jobject, jstring jFirmwareFile, jstring jSerialPort, jobject jCallbacks) { + if (!loadFirmware(env, jFirmwareFile, jCallbacks)) { + return; + } + + if (!setupSerial(env, jSerialPort, jCallbacks)) { + return; + } + + if (!erase(env, jCallbacks)) { + return; + } + + if (!program(env, jCallbacks)) { + return; + } +} + +extern "C" JNIEXPORT void JNICALL Java_com_rusefi_maintenance_OpenbltJni_flashCanNative(JNIEnv * env, jobject, jstring jFirmwareFile, jobject jCallbacks) { + if (!loadFirmware(env, jFirmwareFile, jCallbacks)) { + return; + } + + if (!setupCan(env, jCallbacks)) { + return; + } + + if (!erase(env, jCallbacks)) { + return; + } + + if (!program(env, jCallbacks)) { + return; + } +} + +extern "C" JNIEXPORT void JNICALL Java_com_rusefi_maintenance_OpenbltJni_stopNative(JNIEnv* env, jobject, jobject jCallbacks) { + Callbacks cb(env, jCallbacks, "Cleanup", false); + + BltSessionStop(); + BltSessionTerminate(); + BltFirmwareTerminate(); +} diff --git a/simulator/Makefile b/simulator/Makefile index db94020164..8d52fd86db 100644 --- a/simulator/Makefile +++ b/simulator/Makefile @@ -21,7 +21,7 @@ RULESFILE = $(RULESPATH)/rules.mk PROJECT_CPU=simulator include ../firmware/rusefi.mk -RULESFILE = ../firmware/rusefi_rules.mk +include ../firmware/rusefi_rules.mk # Configure precompiled header PCH_DIR = $(PROJECT_DIR)/pch @@ -60,13 +60,6 @@ ifeq ($(SANITIZE),yes) USE_OPT += -fsanitize=address endif -ifeq ($(CCACHE_DIR),) - $(info No CCACHE_DIR) -else - $(info CCACHE_DIR is ${CCACHE_DIR}) - CCPREFIX=ccache -endif - # C specific options here (added to USE_OPT). ifeq ($(USE_COPT),) USE_COPT = -std=gnu99 @@ -77,6 +70,8 @@ ifeq ($(USE_CPPOPT),) USE_CPPOPT = -std=c++2a -Wno-register -fno-rtti endif +USE_CPPOPT += $(RUSEFI_CPPOPT) + # Enable this if you want the linker to remove unused code and data. ifeq ($(USE_LINK_GC),) USE_LINK_GC = yes @@ -222,8 +217,8 @@ else TRGT = endif -CC = $(CCPREFIX) $(TRGT)gcc -CPPC = $(CCPREFIX) $(TRGT)g++ +CC = $(TRGT)gcc +CPPC = $(TRGT)g++ # Enable loading with g++ only if you need C++ runtime support. # NOTE: You can use C++ even without C++ support if you are careful. C++ # runtime support makes code size explode. diff --git a/simulator/main.cpp b/simulator/main.cpp index 152ac45e89..521ab480b1 100644 --- a/simulator/main.cpp +++ b/simulator/main.cpp @@ -141,6 +141,8 @@ static virtual_timer_t exitTimer; * Simulator main. * *------------------------------------------------------------------------*/ int main(int argc, char** argv) { + setbuf(stdout, NULL); + /* * System initializations. * - HAL initialization, this also initializes the configured device drivers diff --git a/simulator/simulator/boards.h b/simulator/simulator/boards.h index c3ed2b4fa6..3f176298bc 100644 --- a/simulator/simulator/boards.h +++ b/simulator/simulator/boards.h @@ -34,14 +34,3 @@ typedef uint16_t adcsample_t; #define spiAcquireBus(x) {} #define spiReleaseBus(x) {} // end of mock SPI - -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - diff --git a/simulator/simulator/efifeatures.h b/simulator/simulator/efifeatures.h index dcbb21e65a..7530756bb1 100644 --- a/simulator/simulator/efifeatures.h +++ b/simulator/simulator/efifeatures.h @@ -91,7 +91,7 @@ #define EFI_MAX_31855 FALSE #define EFI_ELECTRONIC_THROTTLE_BODY TRUE -#define EFI_AUX_PID TRUE +#define EFI_VVT_PID TRUE #ifndef HAL_TRIGGER_USE_PAL #define HAL_TRIGGER_USE_PAL FALSE diff --git a/simulator/simulator/rusEfiFunctionalTest.cpp b/simulator/simulator/rusEfiFunctionalTest.cpp index 2c8243e417..4d6ae5f809 100644 --- a/simulator/simulator/rusEfiFunctionalTest.cpp +++ b/simulator/simulator/rusEfiFunctionalTest.cpp @@ -67,19 +67,19 @@ static void runChprintfTest() { LoggingWithStorage testLogging("test"); testLogging.appendFloat(1.23, 5); testLogging.appendFloat(1.234, 2); - assertString(testLogging.buffer, "1.230001.23"); + assertString(testLogging.m_buffer, "1.230001.23"); } { LoggingWithStorage testLogging("test"); testLogging.appendFloat(-1.23, 5); - assertString(testLogging.buffer, "-1.23000"); + assertString(testLogging.m_buffer, "-1.23000"); } { LoggingWithStorage testLogging("test"); testLogging.appendPrintf( "a%.2fb%fc", -1.2, -3.4); - assertString(testLogging.buffer, "a-1.20b-3.400000095c"); + assertString(testLogging.m_buffer, "a-1.20b-3.400000095c"); } } @@ -94,7 +94,6 @@ void rusEfiFunctionalTest(void) { initializeConsole(); - initStatusLoop(); initDataStructures(); diff --git a/simulator/simulator/rusEfiFunctionalTest.h b/simulator/simulator/rusEfiFunctionalTest.h index 94dcf83727..1597175652 100644 --- a/simulator/simulator/rusEfiFunctionalTest.h +++ b/simulator/simulator/rusEfiFunctionalTest.h @@ -7,15 +7,6 @@ #pragma once -#ifdef __cplusplus -extern "C" -{ -#endif /* __cplusplus */ - void rusEfiFunctionalTest(void); void printPendingMessages(void); void logMsg(const char *fmt, ...); - -#ifdef __cplusplus -} -#endif /* __cplusplus */ diff --git a/unit_tests/engine_test_helper.cpp b/unit_tests/engine_test_helper.cpp index e373b46024..009a022be0 100644 --- a/unit_tests/engine_test_helper.cpp +++ b/unit_tests/engine_test_helper.cpp @@ -187,14 +187,12 @@ void EngineTestHelper::smartFireFall(float delayMs) { */ void EngineTestHelper::firePrimaryTriggerRise() { efitick_t nowNt = getTimeNowNt(); - Engine *engine = &this->engine; LogTriggerTooth(SHAFT_PRIMARY_RISING, nowNt); handleShaftSignal(0, true, nowNt); } void EngineTestHelper::firePrimaryTriggerFall() { efitick_t nowNt = getTimeNowNt(); - Engine *engine = &this->engine; LogTriggerTooth(SHAFT_PRIMARY_FALLING, nowNt); handleShaftSignal(0, false, nowNt); } @@ -344,15 +342,11 @@ void EngineTestHelper::applyTriggerWaveform() { // todo: open question if this is worth a helper method or should be inlined? void EngineTestHelper::assertRpm(int expectedRpm, const char *msg) { - Engine *engine = &this->engine; - EXPECT_EQ(expectedRpm, Sensor::getOrZero(SensorType::Rpm)) << msg; } void setupSimpleTestEngineWithMaf(EngineTestHelper *eth, injection_mode_e injectionMode, trigger_type_e trigger) { - Engine *engine = ð->engine; - engineConfiguration->isIgnitionEnabled = false; // let's focus on injection engineConfiguration->cylindersCount = 4; // a bit of flexibility - the mode may be changed by some tests diff --git a/unit_tests/logicdata.cpp b/unit_tests/logicdata.cpp index 01cd96374c..72a2b17c73 100644 --- a/unit_tests/logicdata.cpp +++ b/unit_tests/logicdata.cpp @@ -144,10 +144,10 @@ static void writeDouble(double value) { writeByte(0); } else { writeByte(8); - char *ptr = (char*) (void*) &value; + char* c = (char*) (void*) &value; for (int i = 0; i < 8; i++) { - writeByte(ptr[i]); + writeByte(c[i]); } } } diff --git a/unit_tests/logicdata_csv_reader.cpp b/unit_tests/logicdata_csv_reader.cpp index 1a42799377..e7f776a7d2 100644 --- a/unit_tests/logicdata_csv_reader.cpp +++ b/unit_tests/logicdata_csv_reader.cpp @@ -24,8 +24,8 @@ CsvReader::~CsvReader() { void CsvReader::open(const char *fileName, const int* triggerColumnIndeces, const int *vvtColumnIndeces) { printf("Reading from %s\r\n", fileName); fp = fopen(fileName, "r"); - this->triggerColumnIndeces = triggerColumnIndeces; - this->vvtColumnIndeces = vvtColumnIndeces; + m_triggerColumnIndeces = triggerColumnIndeces; + m_vvtColumnIndeces = vvtColumnIndeces; ASSERT_TRUE(fp != nullptr); } @@ -61,8 +61,6 @@ double CsvReader::readTimestampAndValues(double *values) { // todo: separate trigger handling from csv file processing void CsvReader::processLine(EngineTestHelper *eth) { - Engine *engine = ð->engine; - const char s[2] = ","; char *timeStampstr = trim(strtok(buffer, s)); @@ -71,12 +69,12 @@ void CsvReader::processLine(EngineTestHelper *eth) { for (size_t i = 0;i mocks[ETB_COUNT]; - EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* engineConfiguration) { + EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* cfg) { engineConfiguration->etbFunctions[0] = DC_None; engineConfiguration->etbFunctions[1] = DC_None; }); @@ -63,7 +63,7 @@ TEST(etb, initializationSingleThrottle) { EXPECT_CALL(mocks[0], isEtbMode()) .WillOnce(Return(TRUE)); - EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* engineConfiguration) { + EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* cfg) { engineConfiguration->etbFunctions[0] = DC_Throttle1; engineConfiguration->etbFunctions[1] = DC_None; }); @@ -91,7 +91,7 @@ TEST(etb, initializationSingleThrottleInSecondSlot) { EXPECT_CALL(mocks[1], isEtbMode()) .WillOnce(Return(TRUE)); - EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* engineConfiguration) { + EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* cfg) { engineConfiguration->etbFunctions[0] = DC_None; engineConfiguration->etbFunctions[1] = DC_Throttle1; }); @@ -152,7 +152,7 @@ TEST(etb, initializationWastegate) { EXPECT_CALL(mocks[0], isEtbMode()) .WillOnce(Return(false)); - EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* engineConfiguration) { + EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* cfg) { engineConfiguration->etbFunctions[0] = DC_Wastegate; engineConfiguration->etbFunctions[1] = DC_None; }); @@ -436,23 +436,23 @@ TEST(etb, setpointRevLimit) { // Below threshold, should return unadjusted throttle Sensor::setMockValue(SensorType::Rpm, 1000); - EXPECT_EQ(80, etb.getSetpoint().value_or(-1)); + EXPECT_NEAR(80, etb.getSetpoint().value_or(-1), 1e-4); // At threshold, should return unadjusted throttle Sensor::setMockValue(SensorType::Rpm, 5000); - EXPECT_EQ(80, etb.getSetpoint().value_or(-1)); + EXPECT_NEAR(80, etb.getSetpoint().value_or(-1), 1e-4); // Middle of range, should return half of unadjusted Sensor::setMockValue(SensorType::Rpm, 5375); - EXPECT_EQ(40, etb.getSetpoint().value_or(-1)); + EXPECT_NEAR(40, etb.getSetpoint().value_or(-1), 1e-4); // At limit+range, should return 0 Sensor::setMockValue(SensorType::Rpm, 5750); - EXPECT_EQ(1, etb.getSetpoint().value_or(-1)); + EXPECT_NEAR(1, etb.getSetpoint().value_or(-1), 1e-4); // Above limit+range, should return 0 Sensor::setMockValue(SensorType::Rpm, 6000); - EXPECT_EQ(1, etb.getSetpoint().value_or(-1)); + EXPECT_NEAR(1, etb.getSetpoint().value_or(-1), 1e-4); } TEST(etb, setpointNoPedalMap) { diff --git a/unit_tests/tests/ignition_injection/test_fuel_wall_wetting.cpp b/unit_tests/tests/ignition_injection/test_fuel_wall_wetting.cpp index 858d4c4370..dd51492fe3 100644 --- a/unit_tests/tests/ignition_injection/test_fuel_wall_wetting.cpp +++ b/unit_tests/tests/ignition_injection/test_fuel_wall_wetting.cpp @@ -76,11 +76,11 @@ TEST(fuel, testWallWettingEnrichmentScheduling) { int expectedInvocationCounter = 1; for (int i = 0; i < 4; i++) { - ASSERT_EQ(expectedInvocationCounter, engine->injectionEvents.elements[i].wallFuel.invocationCounter); + ASSERT_EQ(expectedInvocationCounter, engine->injectionEvents.elements[i].getWallFuel().invocationCounter); } // Cylinder 5 doesn't exist - shouldn't have been called! - ASSERT_EQ(0, engine->injectionEvents.elements[5].wallFuel.invocationCounter); + ASSERT_EQ(0, engine->injectionEvents.elements[5].getWallFuel().invocationCounter); eth.engine.periodicFastCallback(); eth.engine.periodicFastCallback(); @@ -88,9 +88,9 @@ TEST(fuel, testWallWettingEnrichmentScheduling) { // still same 1 per cylinder - wall wetting is NOT invoked from 'periodicFastCallback' for (int i = 0; i < 4; i++) { - ASSERT_EQ(expectedInvocationCounter, engine->injectionEvents.elements[i].wallFuel.invocationCounter); + ASSERT_EQ(expectedInvocationCounter, engine->injectionEvents.elements[i].getWallFuel().invocationCounter); } // Cylinder 5 doesn't exist - shouldn't have been called! - ASSERT_EQ(0, engine->injectionEvents.elements[5].wallFuel.invocationCounter); + ASSERT_EQ(0, engine->injectionEvents.elements[5].getWallFuel().invocationCounter); } diff --git a/unit_tests/tests/lua/test_can_filter.cpp b/unit_tests/tests/lua/test_can_filter.cpp index 59364615e1..230aa86c28 100644 --- a/unit_tests/tests/lua/test_can_filter.cpp +++ b/unit_tests/tests/lua/test_can_filter.cpp @@ -28,23 +28,23 @@ TEST(CanFilterTest, orderOfBusinessOne) { resetLuaCanRx(); // accept everything as first filter - addLuaCanRxFilter(/*eid*/0, 0, ANY_BUS, CALLBACK_ALL); + addLuaCanRxFilter(/*eid*/0, 0, CanBusIndex::Any, CALLBACK_ALL); - addLuaCanRxFilter(/*eid*/239, FILTER_SPECIFIC, ANY_BUS, CALLBACK_239); + addLuaCanRxFilter(/*eid*/239, FILTER_SPECIFIC, CanBusIndex::Any, CALLBACK_239); // filters are applied in the order in which those were added - ASSERT_EQ(CALLBACK_ALL, getFilterForId(/*bus*/0, /*id*/ 0)->Callback); - ASSERT_EQ(CALLBACK_ALL, getFilterForId(/*bus*/0, /*id*/ 239)->Callback); + ASSERT_EQ(CALLBACK_ALL, getFilterForId(CanBusIndex::Bus0, /*id*/ 0)->Callback); + ASSERT_EQ(CALLBACK_ALL, getFilterForId(CanBusIndex::Bus0, /*id*/ 239)->Callback); } TEST(CanFilterTest, orderOfBusinessTwo) { resetLuaCanRx(); - addLuaCanRxFilter(/*eid*/239, FILTER_SPECIFIC, ANY_BUS, CALLBACK_239); + addLuaCanRxFilter(/*eid*/239, FILTER_SPECIFIC, CanBusIndex::Any, CALLBACK_239); // accept everything as last filter - addLuaCanRxFilter(/*eid*/0, 0, ANY_BUS, CALLBACK_ALL); + addLuaCanRxFilter(/*eid*/0, 0, CanBusIndex::Any, CALLBACK_ALL); // filters are applied in the order in which those were added - ASSERT_EQ(CALLBACK_ALL, getFilterForId(/*bus*/0, /*id*/ 0)->Callback); - ASSERT_EQ(CALLBACK_239, getFilterForId(/*bus*/0, /*id*/ 239)->Callback); + ASSERT_EQ(CALLBACK_ALL, getFilterForId(CanBusIndex::Bus0, /*id*/ 0)->Callback); + ASSERT_EQ(CALLBACK_239, getFilterForId(CanBusIndex::Bus0, /*id*/ 239)->Callback); } diff --git a/unit_tests/tests/test_accel_enrichment.cpp b/unit_tests/tests/test_accel_enrichment.cpp index e2b4458d62..6ea47be8ad 100644 --- a/unit_tests/tests/test_accel_enrichment.cpp +++ b/unit_tests/tests/test_accel_enrichment.cpp @@ -63,7 +63,7 @@ TEST(fuel, testTpsAccelEnrichmentScheduling) { Sensor::setMockValue(SensorType::Tps1, 70); eth.fireTriggerEvents2(/* count */ 1, 25 /* ms */); - float expectedAEValue = 7; + float expectedAEValue = 1.4; // it does not matter how many times we invoke 'getTpsEnrichment' - state does not change for (int i = 0; i <20;i++) { ASSERT_NEAR(expectedAEValue, engine->tpsAccelEnrichment.getTpsEnrichment(), EPS4D); diff --git a/unit_tests/tests/test_hpfp.cpp b/unit_tests/tests/test_hpfp.cpp index bd3b6f92ca..ce0007b1e2 100755 --- a/unit_tests/tests/test_hpfp.cpp +++ b/unit_tests/tests/test_hpfp.cpp @@ -207,7 +207,9 @@ TEST(HPFP, Angle) { } TEST(HPFP, Schedule) { - EngineTestHelper eth(engine_type_e::TEST_ENGINE); + EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* cfg) { + cfg->hpfpValvePin = Gpio::A2; // arbitrary + }); engineConfiguration->cylindersCount = 4; engineConfiguration->hpfpCamLobes = 4; @@ -268,7 +270,6 @@ TEST(HPFP, Schedule) { // This will call the fast callback routine engine->rpmCalculator.setRpmValue(1000); engine->engineState.injectionMass[0] = 0.05 /* cc/cyl */ * fuelDensity; - engineConfiguration->hpfpValvePin = Gpio::A2; // arbitrary hpfp.onFastCallback(); // First event was scheduled by setRpmValue with 0 injection mass. So, it's off. diff --git a/unit_tests/tests/test_hpfp_integrated.cpp b/unit_tests/tests/test_hpfp_integrated.cpp index fcdb18131c..09bd6104f8 100644 --- a/unit_tests/tests/test_hpfp_integrated.cpp +++ b/unit_tests/tests/test_hpfp_integrated.cpp @@ -8,8 +8,8 @@ #include "pch.h" TEST(HPFP, IntegratedSchedule) { - EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* engineConfiguration) { - engineConfiguration->hpfpValvePin = Gpio::A2; // arbitrary + EngineTestHelper eth(engine_type_e::TEST_ENGINE, [](engine_configuration_s* cfg) { + cfg->hpfpValvePin = Gpio::A2; // arbitrary }); engineConfiguration->cylindersCount = 4; diff --git a/unit_tests/tests/test_limp.cpp b/unit_tests/tests/test_limp.cpp index 4aea57ce08..ca22041938 100644 --- a/unit_tests/tests/test_limp.cpp +++ b/unit_tests/tests/test_limp.cpp @@ -24,6 +24,8 @@ TEST(limp, revLimit) { EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->rpmHardLimit = 2500; + engineConfiguration->cutFuelOnHardLimit = true; + engineConfiguration->cutSparkOnHardLimit = true; LimpManager dut; @@ -47,6 +49,8 @@ TEST(limp, revLimitCltBased) { EngineTestHelper eth(engine_type_e::TEST_ENGINE); engineConfiguration->rpmHardLimit = 2500; + engineConfiguration->cutFuelOnHardLimit = true; + engineConfiguration->cutSparkOnHardLimit = true; // Configure CLT-based rev limit curve engineConfiguration->useCltBasedRpmLimit = true; diff --git a/unit_tests/tests/test_pid_auto.cpp b/unit_tests/tests/test_pid_auto.cpp deleted file mode 100644 index 0dd482ff01..0000000000 --- a/unit_tests/tests/test_pid_auto.cpp +++ /dev/null @@ -1,220 +0,0 @@ -/* - * @file test_pid_auto.cpp - * - * @date Sep 14, 2017 - * @author Andrey Belomutskiy, (c) 2012-2020 - */ - -#include "pch.h" -#include "pid_auto_tune.h" - -efitimems_t mockTimeMs = 0; - -efitimems_t getTimeNowMs(void) { - return mockTimeMs; -} - -LoggingWithStorage logging("test"); - -static float zigZagOffset = 0; - -#define CYCLE 20 - -// range of oscillation -static float oscRange; - -/** - * output linearly goes from 0 to 100 and back within each 'CYCLE' steps - */ -static float zigZagValue(int index) { - int i = index % CYCLE; - if ( i <= CYCLE / 2) { - return i * (oscRange / 2 / CYCLE) + zigZagOffset; - } else { - return (CYCLE - i) * (oscRange / 2 / CYCLE) + zigZagOffset; - } -} - -static void testPidAutoZigZagStable() { - printf("*************************************************** testPidAutoZigZagStable\r\n"); - - oscRange = 100; - mockTimeMs = 0; - - PID_AutoTune at; - at.SetLookbackSec(5); - at.SetControlType(PID_AutoTune::ZIEGLER_NICHOLS_PI); - at.sampleTime = 0; // not used in math only used to filter values out - ASSERT_EQ( 20, at.nLookBack) << "nLookBack"; - - - at.outputStart = 50; - - at.input = zigZagValue(mockTimeMs); - at.Runtime(&logging); - - mockTimeMs++; - at.input = zigZagValue(mockTimeMs); - at.Runtime(&logging); -// assertEqualsLM("min@1", 0, at.absMin); -// assertEqualsLM("max@1", 10, at.absMax); - ASSERT_EQ( 0, at.peakCount) << "peakCount"; - int startMockMs = mockTimeMs; - - for (; mockTimeMs <= 10 + startMockMs; mockTimeMs++) { - at.input = zigZagValue(mockTimeMs); - bool result = at.Runtime(&logging); - ASSERT_FALSE(result) << "should be false#1"; - - } -// assertEqualsLM("min@11", 0, at.absMin); -// assertEqualsLM("max@11", 100, at.absMax); - ASSERT_EQ( 0, at.peakCount) << "peakCount"; - - for (; mockTimeMs <= 21; mockTimeMs++) { - at.input = zigZagValue(mockTimeMs); - bool result = at.Runtime(&logging); - ASSERT_FALSE(result) << "should be false#2"; - } - ASSERT_EQ( 0, at.peakCount) << "peakCount@21"; - - for (; mockTimeMs <= 41; mockTimeMs++) { - at.input = zigZagValue(mockTimeMs); - bool result = at.Runtime(&logging); - ASSERT_FALSE(result) << "should be false#2_2"; - } - ASSERT_EQ( 2, at.peakCount) << "peakCount@41"; -// ASSERT_EQ( 1, cisnan(at.Pu)) << "Pu@41"; - - for (; mockTimeMs <= 60; mockTimeMs++) { - at.input = zigZagValue(mockTimeMs); - bool result = at.Runtime(&logging); - ASSERT_FALSE(result) << "should be false#4"; - } - ASSERT_EQ( 4, at.peakCount) << "peakCount@60"; - //assertEqualsM("Pu@60", 0.02, at.Pu); - -// zigZagOffset = 10; - - for (; mockTimeMs <= 69; mockTimeMs++) { - - at.input = zigZagValue(mockTimeMs); - bool result = at.Runtime(&logging); - ASSERT_FALSE(result) << "should be false#4"; - } - - at.input = zigZagValue(mockTimeMs); - bool result = at.Runtime(&logging); - ASSERT_EQ( 1, result) << "should be true"; - - assertEqualsM("testPidAutoZigZagStable::output", 0.0, at.output); - - ASSERT_EQ( 5, at.peakCount) << "peakCount@80"; - assertEqualsM("ki", 27.7798, at.GetKi()); - assertEqualsM("kd", 0.0, at.GetKd()); - - // todo: test the same code with noisy zig-zag function -} - -static void testPidAutoZigZagGrowingOsc() { - printf("*************************************************** testPidAutoZigZagGrowingOsc\r\n"); - - oscRange = 100; - mockTimeMs = 0; - - PID_AutoTune at; - at.SetLookbackSec(5); - at.sampleTime = 0; // not used in math only used to filter values out - - int startMockMs; - - for (int i =0;i<11;i++) { - startMockMs = mockTimeMs; - printf("loop=%d %d\r\n", i, startMockMs); - for (; mockTimeMs < CYCLE + startMockMs; mockTimeMs++) { - at.input = zigZagValue(mockTimeMs); - bool result = at.Runtime(&logging); - ASSERT_FALSE(result) << "should be false#4"; - } - oscRange *= 1.5; - } - - startMockMs = mockTimeMs; -// for (; mockTimeMs < CYCLE + startMockMs; mockTimeMs++) { -// printf("loop2=%d\r\n", mockTimeMs); -// at.input = zigZagValue(mockTimeMs); -// bool result = at.Runtime(&logging); -// ASSERT_FALSE(result) << "should be false#5"; -// } - - at.input = zigZagValue(mockTimeMs); - bool result = at.Runtime(&logging); - ASSERT_TRUE(result) << "should be true#2"; - assertEqualsM("FAiled", FAILED, at.state); - - assertEqualsM("output Growing", 0.0, at.output); - -} - -TEST(pidAutoTune, zeroLine) { - mockTimeMs = 0; - - PID_AutoTune at; - at.SetLookbackSec(5); - at.sampleTime = 0; // not used in math only used to filter values out - - int startMockMs; - - for (int i =0;i<110;i++) { - startMockMs = mockTimeMs; - printf("loop=%d %d\r\n", i, startMockMs); - for (; mockTimeMs < CYCLE + startMockMs; mockTimeMs++) { - at.input = 0; - bool result = at.Runtime(&logging); - ASSERT_FALSE(result) << "should be false#4"; - } - } - // nothing happens in this test since we do not allow time play a role -} - -TEST(pidAutoTune, delayLine) { - - static const int delayBufSize = 8; - - // we use a small FIFO buf to imitate some "response delay" of our virtual PID-controlled "device" - cyclic_buffer delayBuf; - delayBuf.clear(); - - mockTimeMs = 0; - - PID_AutoTune at; - at.SetLookbackSec(5); - at.sampleTime = 0; // not used in math only used to filter values out - - int startMockMs; - bool result = false; - for (int i = 0; i < 110 && !result; i++) { - startMockMs = mockTimeMs; - //at.input = delayBuf.get(delayBuf.currentIndex - 1); - int numElems = minI(delayBuf.getSize(), delayBuf.getCount()); - // our "device" is an averaging delay line - at.input = (numElems == 0) ? 0 : (delayBuf.sum(numElems) / delayBuf.getSize()); - result = at.Runtime(&logging); - // this is how our "device" is controlled by auto-tuner - delayBuf.add(at.output); - printf("[%d] %d in=%f out=%f\r\n", i, startMockMs, at.input, at.output); - mockTimeMs++; - } - - if (result) - printf("*** Converged! Got result: P=%f I=%f D=%f\r\n", at.GetKp(), at.GetKi(), at.GetKd()); - ASSERT_TRUE(result) << "should be true#5"; -} - -TEST(pidAutoTune, testPidAuto) { - printf("*************************************************** testPidAuto\r\n"); - - testPidAutoZigZagStable(); - - testPidAutoZigZagGrowingOsc(); -} diff --git a/unit_tests/tests/test_pwm_generator.cpp b/unit_tests/tests/test_pwm_generator.cpp index af7557eef8..6fc6fc0a8d 100644 --- a/unit_tests/tests/test_pwm_generator.cpp +++ b/unit_tests/tests/test_pwm_generator.cpp @@ -24,7 +24,7 @@ static void assertNextEvent(const char *msg, int expectedPinState, TestExecutor // execute pending actions and assert that only one action was executed ASSERT_NEAR(1, executor->executeAll(timeNowUs), 0) << msg << " executed"; - ASSERT_NEAR(expectedPinState, pin.currentLogicValue, 0) << msg << " pin state"; + ASSERT_NEAR(expectedPinState, pin.m_currentLogicValue, 0) << msg << " pin state"; // assert that we have one new action in queue ASSERT_EQ( 1, executor->size()) << "PWM_test: queue.size"; diff --git a/unit_tests/tests/test_signal_executor.cpp b/unit_tests/tests/test_signal_executor.cpp index 65abe1ede7..39788e24fc 100644 --- a/unit_tests/tests/test_signal_executor.cpp +++ b/unit_tests/tests/test_signal_executor.cpp @@ -18,12 +18,14 @@ static void callback(void *a) { static int complexTestNow; struct TestPwm { - TestPwm(EventQueue *eventQueue) { - this->eventQueue = eventQueue; + TestPwm(EventQueue *eq) + : eventQueue(eq) + { } + scheduling_s s; int period; - EventQueue *eventQueue; + EventQueue* const eventQueue; }; static void complexCallback(TestPwm *testPwm) { diff --git a/unit_tests/tests/test_util.cpp b/unit_tests/tests/test_util.cpp index a7a2947d6d..3e0e7e8a0d 100644 --- a/unit_tests/tests/test_util.cpp +++ b/unit_tests/tests/test_util.cpp @@ -161,8 +161,8 @@ TEST(misc, testMalfunctionCentral) { getErrorCodes(&localCopy); // todo: ASSERT_EQ(2, localCopy.count); - for (int code = 0; code < 100; code++) { - addError((ObdCode) code); + for (int c = 0; c < 100; c++) { + addError((ObdCode) c); } getErrorCodes(&localCopy); ASSERT_EQ(MAX_ERROR_CODES_COUNT, localCopy.count); @@ -431,3 +431,24 @@ TEST(util, isInRange) { EXPECT_TRUE(isInRange(5, 10, 10)); EXPECT_FALSE(isInRange(5, 11, 10)); } + +TEST(util, wrapAngle) { + EngineTestHelper eth(engine_type_e::TEST_ENGINE); + + // Test within range + EXPECT_EQ(0, wrapAngleMethod(0)); + EXPECT_EQ(20, wrapAngleMethod(20)); + EXPECT_EQ(710, wrapAngleMethod(710)); + + // Test off the top of the range + EXPECT_EQ(1, wrapAngleMethod(721)); + EXPECT_EQ(20, wrapAngleMethod(740)); + EXPECT_EQ(719, wrapAngleMethod(720 + 719)); + EXPECT_EQ(0, wrapAngleMethod(720 + 720)); + EXPECT_EQ(5, wrapAngleMethod(10 * 720 + 5)); + + // Test off the bottom of the range + EXPECT_EQ(719, wrapAngleMethod(-1)); + EXPECT_EQ(360, wrapAngleMethod(-360)); + EXPECT_EQ(1, wrapAngleMethod(-719)); +} diff --git a/unit_tests/tests/tests.mk b/unit_tests/tests/tests.mk index 6c241e6b8a..b15b45e998 100644 --- a/unit_tests/tests/tests.mk +++ b/unit_tests/tests/tests.mk @@ -20,6 +20,7 @@ TESTS_SRC_CPP = \ tests/trigger/test_real_gm_24x.cpp \ tests/trigger/test_real_k24a2.cpp \ tests/trigger/test_real_k20.cpp \ + tests/trigger/test_real_toyota_3_tooth_cam.cpp \ tests/trigger/test_map_cam.cpp \ tests/trigger/test_rpm_multiplier.cpp \ tests/trigger/test_quad_cam.cpp \ @@ -68,7 +69,6 @@ TESTS_SRC_CPP = \ tests/test_log_buffer.cpp \ tests/test_signal_executor.cpp \ tests/test_cpp_memory_layout.cpp \ - tests/test_pid_auto.cpp \ tests/test_pid.cpp \ tests/test_accel_enrichment.cpp \ tests/test_gpiochip.cpp \ diff --git a/unit_tests/tests/trigger/resources/toyota_3_tooth_cam.csv b/unit_tests/tests/trigger/resources/toyota_3_tooth_cam.csv new file mode 100755 index 0000000000..8ebc228354 --- /dev/null +++ b/unit_tests/tests/trigger/resources/toyota_3_tooth_cam.csv @@ -0,0 +1,1582 @@ +Time [s],Channel 0,Channel 1 +0.000000000,1,1 +0.000141125,0,1 +0.000607312,1,1 +0.001202250,0,1 +0.001666813,1,1 +0.002259438,0,1 +0.002723562,1,1 +0.003315750,0,1 +0.003780812,1,1 +0.004373625,0,1 +0.004838125,1,1 +0.005431813,0,1 +0.005896188,1,1 +0.006489687,0,1 +0.006954687,1,1 +0.007547062,0,1 +0.008011125,1,1 +0.008604063,0,1 +0.009067313,1,1 +0.009661250,0,1 +0.010123875,1,1 +0.010715562,0,1 +0.011182375,1,1 +0.011774625,0,1 +0.012236750,1,1 +0.012828625,0,1 +0.013293875,1,1 +0.013885563,0,1 +0.014209688,0,0 +0.014349437,1,0 +0.014940125,0,0 +0.015404312,1,0 +0.015996063,0,0 +0.016460000,1,0 +0.017052125,0,0 +0.017516125,1,0 +0.018107625,0,0 +0.018571687,1,0 +0.019164062,0,0 +0.019206938,0,1 +0.019624563,1,1 +0.020214000,0,1 +0.020923687,1,1 +0.023301250,0,1 +0.023861375,1,1 +0.024439250,0,1 +0.024892062,1,1 +0.025481062,0,1 +0.025943937,1,1 +0.026531063,0,1 +0.026993125,1,1 +0.027581250,0,1 +0.028044750,1,1 +0.028633375,0,1 +0.029096500,1,1 +0.029685562,0,1 +0.030148062,1,1 +0.030736438,0,1 +0.031199500,1,1 +0.031788562,0,1 +0.032251812,1,1 +0.032840688,0,1 +0.033303000,1,1 +0.033893375,0,1 +0.034353625,1,1 +0.034941437,0,1 +0.035404813,1,1 +0.035992562,0,1 +0.036453625,1,1 +0.037041625,0,1 +0.037503312,1,1 +0.038091813,0,1 +0.038554250,1,1 +0.039144563,0,1 +0.039605562,1,1 +0.039626812,1,0 +0.040194000,0,0 +0.040654875,1,0 +0.041242125,0,0 +0.041703188,1,0 +0.042290812,0,0 +0.042751625,1,0 +0.043341000,0,0 +0.043801063,1,0 +0.044389937,0,0 +0.044489687,0,1 +0.044852000,1,1 +0.045440250,0,1 +0.045901188,1,1 +0.046490562,0,1 +0.046950125,1,1 +0.047539687,0,1 +0.047999313,1,1 +0.048586312,0,1 +0.049049438,1,1 +0.049636687,0,1 +0.050094937,1,1 +0.050681938,0,1 +0.051143125,1,1 +0.051730500,0,1 +0.052190500,1,1 +0.052776562,0,1 +0.053236625,1,1 +0.053824062,0,1 +0.054283750,1,1 +0.054871938,0,1 +0.055332625,1,1 +0.055919062,0,1 +0.056380125,1,1 +0.056967188,0,1 +0.057424375,1,1 +0.058009687,0,1 +0.058716250,1,1 +0.061074625,0,1 +0.061631063,1,1 +0.062204750,0,1 +0.062654750,1,1 +0.063239125,0,1 +0.063699312,1,1 +0.064282563,0,1 +0.064602375,0,0 +0.064741437,1,0 +0.065326250,0,0 +0.065786375,1,0 +0.066371687,0,0 +0.066831313,1,0 +0.067416875,0,0 +0.067875937,1,0 +0.068460625,0,0 +0.068920187,1,0 +0.069504750,0,0 +0.069577562,0,1 +0.069965125,1,1 +0.070549250,0,1 +0.071008437,1,1 +0.071594125,0,1 +0.072051000,1,1 +0.072634562,0,1 +0.073093500,1,1 +0.073677125,0,1 +0.074134312,1,1 +0.074716937,0,1 +0.075175500,1,1 +0.075758937,0,1 +0.076216563,1,1 +0.076801000,0,1 +0.077256875,1,1 +0.077839250,0,1 +0.078294500,1,1 +0.078876500,0,1 +0.079332875,1,1 +0.079915625,0,1 +0.080371750,1,1 +0.080955375,0,1 +0.081411250,1,1 +0.081994375,0,1 +0.082451563,1,1 +0.083034625,0,1 +0.083490812,1,1 +0.084074438,0,1 +0.084529875,1,1 +0.085113563,0,1 +0.085568937,1,1 +0.086150625,0,1 +0.086610250,1,1 +0.087192750,0,1 +0.087646813,1,1 +0.088228562,0,1 +0.088686187,1,1 +0.089268500,0,1 +0.089575688,0,0 +0.089725125,1,0 +0.090306375,0,0 +0.090763063,1,0 +0.091345750,0,0 +0.091801437,1,0 +0.092384375,0,0 +0.092840625,1,0 +0.093421688,0,0 +0.093879062,1,0 +0.094460750,0,0 +0.094509563,0,1 +0.094914062,1,1 +0.095493438,0,1 +0.096197688,1,1 +0.098529063,0,1 +0.099080625,1,1 +0.099648250,0,1 +0.100093500,1,1 +0.100672813,0,1 +0.101128000,1,1 +0.101705875,0,1 +0.102159562,1,1 +0.102738750,0,1 +0.103195063,1,1 +0.103774062,0,1 +0.104229875,1,1 +0.104809750,0,1 +0.105264812,1,1 +0.105844812,0,1 +0.106300875,1,1 +0.106880875,0,1 +0.107337750,1,1 +0.107918687,0,1 +0.108375625,1,1 +0.108958875,0,1 +0.109414438,1,1 +0.109995625,0,1 +0.110454563,1,1 +0.111038375,0,1 +0.111493187,1,1 +0.112076500,0,1 +0.112534875,1,1 +0.113119250,0,1 +0.113578062,1,1 +0.114164562,0,1 +0.114622813,1,1 +0.114638688,1,0 +0.115208563,0,0 +0.115666312,1,0 +0.116250188,0,0 +0.116708750,1,0 +0.117293687,0,0 +0.117751938,1,0 +0.118338875,0,0 +0.118797000,1,0 +0.119384062,0,0 +0.119480125,0,1 +0.119843937,1,1 +0.120430375,0,1 +0.120891187,1,1 +0.121479313,0,1 +0.121940625,1,1 +0.122529813,0,1 +0.122991813,1,1 +0.123581875,0,1 +0.124044062,1,1 +0.124634063,0,1 +0.125095500,1,1 +0.125686437,0,1 +0.126150062,1,1 +0.126741250,0,1 +0.127204812,1,1 +0.127794938,0,1 +0.128259375,1,1 +0.128851313,0,1 +0.129315375,1,1 +0.129907063,0,1 +0.130371750,1,1 +0.130963688,0,1 +0.131429187,1,1 +0.132022688,0,1 +0.132484750,1,1 +0.133076500,0,1 +0.133789938,1,1 +0.136185562,0,1 +0.136747375,1,1 +0.137331375,0,1 +0.137789187,1,1 +0.138384813,0,1 +0.138853375,1,1 +0.139448250,0,1 +0.139783375,0,0 +0.139916375,1,0 +0.140512500,0,0 +0.140982313,1,0 +0.141579563,0,0 +0.142049125,1,0 +0.142646937,0,0 +0.143115688,1,0 +0.143711937,0,0 +0.144181438,1,0 +0.144777125,0,0 +0.144870063,0,1 +0.145246188,1,1 +0.145840937,0,1 +0.146308125,1,1 +0.146904312,0,1 +0.147368375,1,1 +0.147961375,0,1 +0.148426312,1,1 +0.149020563,0,1 +0.149482875,1,1 +0.150073750,0,1 +0.150538813,1,1 +0.151129938,0,1 +0.151595062,1,1 +0.152188000,0,1 +0.152651250,1,1 +0.153242187,0,1 +0.153704687,1,1 +0.154296062,0,1 +0.154759750,1,1 +0.155351938,0,1 +0.155815000,1,1 +0.156407688,0,1 +0.156871062,1,1 +0.157463125,0,1 +0.157927625,1,1 +0.158519187,0,1 +0.158982812,1,1 +0.159575875,0,1 +0.160038563,1,1 +0.160631500,0,1 +0.161087625,1,1 +0.161685187,0,1 +0.162149625,1,1 +0.162740313,0,1 +0.163201500,1,1 +0.163791750,0,1 +0.164256812,1,1 +0.164847562,0,1 +0.165172812,0,0 +0.165311125,1,0 +0.165901437,0,0 +0.166365625,1,0 +0.166957562,0,0 +0.167421125,1,0 +0.168013625,0,0 +0.168477500,1,0 +0.169069063,0,0 +0.169534375,1,0 +0.170127438,0,0 +0.170167563,0,1 +0.170589625,1,1 +0.171180625,0,1 +0.171894375,1,1 +0.174288625,0,1 +0.174852125,1,1 +0.175436125,0,1 +0.175893375,1,1 +0.176488250,0,1 +0.176956562,1,1 +0.177550500,0,1 +0.178017875,1,1 +0.178614313,0,1 +0.179083562,1,1 +0.179680375,0,1 +0.180149250,1,1 +0.180745938,0,1 +0.181214188,1,1 +0.181810125,0,1 +0.182279688,1,1 +0.182876437,0,1 +0.183346375,1,1 +0.183943812,0,1 +0.184412875,1,1 +0.185013500,0,1 +0.185480687,1,1 +0.186078375,0,1 +0.186547125,1,1 +0.187146875,0,1 +0.187614562,1,1 +0.188212187,0,1 +0.188683000,1,1 +0.189282375,0,1 +0.189752750,1,1 +0.190353750,0,1 +0.190823375,1,1 +0.190854750,1,0 +0.191423813,0,0 +0.191893062,1,0 +0.192492125,0,0 +0.192962187,1,0 +0.193562062,0,0 +0.194032188,1,0 +0.194633937,0,0 +0.195103438,1,0 +0.195704938,0,0 +0.195804062,0,1 +0.196176625,1,1 +0.196777250,0,1 +0.197248687,1,1 +0.197851250,0,1 +0.198322875,1,1 +0.198927250,0,1 +0.199390938,1,1 +0.200002750,0,1 +0.200477125,1,1 +0.201081375,0,1 +0.201553375,1,1 +0.202157375,0,1 +0.202632438,1,1 +0.203237312,0,1 +0.203712063,1,1 +0.204315875,0,1 +0.204790438,1,1 +0.205397250,0,1 +0.205871688,1,1 +0.206478562,0,1 +0.206954063,1,1 +0.207560063,0,1 +0.208037250,1,1 +0.208644750,0,1 +0.209117812,1,1 +0.209723437,0,1 +0.210447625,1,1 +0.212903563,0,1 +0.213479375,1,1 +0.214077062,0,1 +0.214545000,1,1 +0.215153813,0,1 +0.215632750,1,1 +0.216241437,0,1 +0.216620563,0,0 +0.216719750,1,0 +0.217328938,0,0 +0.217809250,1,0 +0.218419250,0,0 +0.218899312,1,0 +0.219510062,0,0 +0.219989688,1,0 +0.220600500,0,0 +0.221081187,1,0 +0.221691937,0,0 +0.221774312,0,1 +0.222173437,1,1 +0.222784813,0,1 +0.223264625,1,1 +0.223879375,0,1 +0.224359063,1,1 +0.224972000,0,1 +0.225455812,1,1 +0.226068313,0,1 +0.226548250,1,1 +0.227161562,0,1 +0.227642687,1,1 +0.228258688,0,1 +0.228741375,1,1 +0.229357750,0,1 +0.229839375,1,1 +0.230453625,0,1 +0.230934813,1,1 +0.231550188,0,1 +0.232031938,1,1 +0.232647875,0,1 +0.233130125,1,1 +0.233747875,0,1 +0.234230688,1,1 +0.234848187,0,1 +0.235333375,1,1 +0.235951000,0,1 +0.236435312,1,1 +0.237055437,0,1 +0.237539438,1,1 +0.238159938,0,1 +0.238644750,1,1 +0.239265500,0,1 +0.239752000,1,1 +0.240372937,0,1 +0.240858938,1,1 +0.241479250,0,1 +0.241967688,1,1 +0.242590562,0,1 +0.243007438,0,0 +0.243077750,1,0 +0.243699063,0,0 +0.244187938,1,0 +0.244810688,0,0 +0.245299187,1,0 +0.245922375,0,0 +0.246410812,1,0 +0.247032500,0,0 +0.247521437,1,0 +0.248143562,0,0 +0.248180812,0,1 +0.248628563,1,1 +0.249248125,0,1 +0.249981813,1,1 +0.252484250,0,1 +0.253068125,1,1 +0.253673812,0,1 +0.254148312,1,1 +0.254763875,0,1 +0.255248750,1,1 +0.255864500,0,1 +0.256348438,1,1 +0.256965312,0,1 +0.257452000,1,1 +0.258069437,0,1 +0.258555188,1,1 +0.259173062,0,1 +0.259657937,1,1 +0.260275188,0,1 +0.260760188,1,1 +0.261376312,0,1 +0.261861187,1,1 +0.262475500,0,1 +0.262958125,1,1 +0.263574812,0,1 +0.264054063,1,1 +0.264666313,0,1 +0.265148750,1,1 +0.265759125,0,1 +0.266236937,1,1 +0.266848562,0,1 +0.267328375,1,1 +0.267942063,0,1 +0.268423000,1,1 +0.269036812,0,1 +0.269517125,1,1 +0.269575250,1,0 +0.270130188,0,0 +0.270610000,1,0 +0.271223375,0,0 +0.271703562,1,0 +0.272316375,0,0 +0.272796938,1,0 +0.273411187,0,0 +0.273891188,1,0 +0.274505438,0,0 +0.274608000,0,1 +0.274986813,1,1 +0.275598813,0,1 +0.276078625,1,1 +0.276691062,0,1 +0.277169438,1,1 +0.277781000,0,1 +0.278254125,1,1 +0.278868375,0,1 +0.279346688,1,1 +0.279955813,0,1 +0.280431750,1,1 +0.281040000,0,1 +0.281518125,1,1 +0.282127187,0,1 +0.282604750,1,1 +0.283213063,0,1 +0.283691062,1,1 +0.284301125,0,1 +0.284778750,1,1 +0.285389375,0,1 +0.285867375,1,1 +0.286475937,0,1 +0.286955813,1,1 +0.287565750,0,1 +0.288040813,1,1 +0.288648438,0,1 +0.289374313,1,1 +0.291824500,0,1 +0.292398375,1,1 +0.292992125,0,1 +0.293456812,1,1 +0.294061250,0,1 +0.294536438,1,1 +0.295140687,0,1 +0.295503500,0,0 +0.295615750,1,0 +0.296221063,0,0 +0.296698875,1,0 +0.297305563,0,0 +0.297783313,1,0 +0.298392125,0,0 +0.298868875,1,0 +0.299476813,0,0 +0.299954813,1,0 +0.300561937,0,0 +0.300655625,0,1 +0.301039438,1,1 +0.301645625,0,1 +0.302121375,1,1 +0.302728375,0,1 +0.303201813,1,1 +0.303806875,0,1 +0.304283187,1,1 +0.304888250,0,1 +0.305361250,1,1 +0.305964875,0,1 +0.306440250,1,1 +0.307044188,0,1 +0.307518687,1,1 +0.308124625,0,1 +0.308597250,1,1 +0.309201312,0,1 +0.309673313,1,1 +0.310276312,0,1 +0.310749312,1,1 +0.311352688,0,1 +0.311825000,1,1 +0.312429125,0,1 +0.312901188,1,1 +0.313505000,0,1 +0.313977687,1,1 +0.314580500,0,1 +0.315052687,1,1 +0.315655937,0,1 +0.316127687,1,1 +0.316731625,0,1 +0.317201625,1,1 +0.317803250,0,1 +0.318277500,1,1 +0.318879313,0,1 +0.319349125,1,1 +0.319950375,0,1 +0.320423375,1,1 +0.321024375,0,1 +0.321388375,0,0 +0.321496375,1,0 +0.322096500,0,0 +0.322568937,1,0 +0.323170875,0,0 +0.323641375,1,0 +0.324243312,0,0 +0.324714312,1,0 +0.325314312,0,0 +0.325787250,1,0 +0.326387563,0,0 +0.326437250,0,1 +0.326855813,1,1 +0.327454437,0,1 +0.328171188,1,1 +0.330588312,0,1 +0.331155625,1,1 +0.331742437,0,1 +0.332202000,1,1 +0.332800000,0,1 +0.333270000,1,1 +0.333866500,0,1 +0.334335375,1,1 +0.334932500,0,1 +0.335403625,1,1 +0.336000875,0,1 +0.336470563,1,1 +0.337069562,0,1 +0.337538625,1,1 +0.338136437,0,1 +0.338605938,1,1 +0.339202938,0,1 +0.339673250,1,1 +0.340270313,0,1 +0.340738875,1,1 +0.341337312,0,1 +0.341803625,1,1 +0.342399375,0,1 +0.342868438,1,1 +0.343465187,0,1 +0.343931312,1,1 +0.344526625,0,1 +0.344995250,1,1 +0.345590625,0,1 +0.346058688,1,1 +0.346656125,0,1 +0.347122812,1,1 +0.347177562,1,0 +0.347719125,0,0 +0.348185688,1,0 +0.348781125,0,0 +0.349247625,1,0 +0.349843000,0,0 +0.350310063,1,0 +0.350906687,0,0 +0.351372750,1,0 +0.351969188,0,0 +0.352076625,0,1 +0.352437063,1,1 +0.353032750,0,1 +0.353499125,1,1 +0.354095938,0,1 +0.354561875,1,1 +0.355158625,0,1 +0.355624312,1,1 +0.356218375,0,1 +0.356687375,1,1 +0.357281813,0,1 +0.357746375,1,1 +0.358340500,0,1 +0.358807375,1,1 +0.359401875,0,1 +0.359868187,1,1 +0.360461188,0,1 +0.360927125,1,1 +0.361521938,0,1 +0.361987750,1,1 +0.362582750,0,1 +0.363049062,1,1 +0.363642000,0,1 +0.364109000,1,1 +0.364703000,0,1 +0.365165813,1,1 +0.365758187,0,1 +0.366469125,1,1 +0.368858000,0,1 +0.369420062,1,1 +0.370000375,0,1 +0.370454938,1,1 +0.371046125,0,1 +0.371511250,1,1 +0.372101813,0,1 +0.372426000,0,0 +0.372565062,1,0 +0.373156563,0,0 +0.373621688,1,0 +0.374212687,0,0 +0.374677938,1,0 +0.375268938,0,0 +0.375733313,1,0 +0.376324312,0,0 +0.376788687,1,0 +0.377379688,0,0 +0.377470688,0,1 +0.377844125,1,1 +0.378434563,0,1 +0.378898125,1,1 +0.379489937,0,1 +0.379951250,1,1 +0.380540500,0,1 +0.381004312,1,1 +0.381593500,0,1 +0.382054813,1,1 +0.382643000,0,1 +0.383105937,1,1 +0.383694563,0,1 +0.384157812,1,1 +0.384747375,0,1 +0.385208000,1,1 +0.385796125,0,1 +0.386256312,1,1 +0.386844313,0,1 +0.387305187,1,1 +0.387893125,0,1 +0.388355125,1,1 +0.388944313,0,1 +0.389405250,1,1 +0.389994750,0,1 +0.390456812,1,1 +0.391046438,0,1 +0.391508062,1,1 +0.392097875,0,1 +0.392558313,1,1 +0.393148438,0,1 +0.393609500,1,1 +0.394197313,0,1 +0.394662250,1,1 +0.395251688,0,1 +0.395711250,1,1 +0.396299625,0,1 +0.396762000,1,1 +0.397351438,0,1 +0.397677187,0,0 +0.397813937,1,0 +0.398402437,0,0 +0.398864188,1,0 +0.399453563,0,0 +0.399914875,1,0 +0.400504437,0,0 +0.400966000,1,0 +0.401554062,0,0 +0.402016563,1,0 +0.402604813,0,0 +0.402649750,0,1 +0.403063500,1,1 +0.403649500,0,1 +0.404358563,1,1 +0.406718625,0,1 +0.407275875,1,1 +0.407849938,0,1 +0.408300125,1,1 +0.408884625,0,1 +0.409345313,1,1 +0.409928937,0,1 +0.410387563,1,1 +0.410972563,0,1 +0.411433687,1,1 +0.412018687,0,1 +0.412479312,1,1 +0.413065250,0,1 +0.413524563,1,1 +0.414109813,0,1 +0.414569688,1,1 +0.415154625,0,1 +0.415615125,1,1 +0.416199437,0,1 +0.416659563,1,1 +0.417245437,0,1 +0.417702562,1,1 +0.418286062,0,1 +0.418745437,1,1 +0.419329625,0,1 +0.419787000,1,1 +0.420371000,0,1 +0.420829875,1,1 +0.421414250,0,1 +0.421872625,1,1 +0.422458375,0,1 +0.422915563,1,1 +0.422928562,1,0 +0.423499750,0,0 +0.423957125,1,0 +0.424540937,0,0 +0.424998250,1,0 +0.425581000,0,0 +0.426039125,1,0 +0.426623688,0,0 +0.427080438,1,0 +0.427665187,0,0 +0.427767438,0,1 +0.428123250,1,1 +0.428707438,0,1 +0.429164750,1,1 +0.429749625,0,1 +0.430206000,1,1 +0.430790687,0,1 +0.431247250,1,1 +0.431828687,0,1 +0.432289313,1,1 +0.432872125,0,1 +0.433326938,1,1 +0.433909250,0,1 +0.434366750,1,1 +0.434948875,0,1 +0.435405875,1,1 +0.435987000,0,1 +0.436443812,1,1 +0.437027125,0,1 +0.437483000,1,1 +0.438067062,0,1 +0.438523125,1,1 +0.439105062,0,1 +0.439562625,1,1 +0.440144500,0,1 +0.440598687,1,1 +0.441178750,0,1 +0.441882625,1,1 +0.444217625,0,1 +0.444770375,1,1 +0.445338500,0,1 +0.445784438,1,1 +0.446365063,0,1 +0.446820312,1,1 +0.447399687,0,1 +0.447696125,0,0 +0.447853625,1,0 +0.448433750,0,0 +0.448889938,1,0 +0.449469438,0,0 +0.449926250,1,0 +0.450506813,0,0 +0.450962188,1,0 +0.451542563,0,0 +0.451998812,1,0 +0.452579687,0,0 +0.452671000,0,1 +0.453036500,1,1 +0.453617875,0,1 +0.454075625,1,1 +0.454658687,0,1 +0.455115063,1,1 +0.455697125,0,1 +0.456156250,1,1 +0.456740937,0,1 +0.457195750,1,1 +0.457778813,0,1 +0.458238313,1,1 +0.458822000,0,1 +0.459282000,1,1 +0.459867750,0,1 +0.460325750,1,1 +0.460910750,0,1 +0.461367625,1,1 +0.461953375,0,1 +0.462411313,1,1 +0.462997625,0,1 +0.463456563,1,1 +0.464043563,0,1 +0.464502187,1,1 +0.465089688,0,1 +0.465550562,1,1 +0.466138375,0,1 +0.466599812,1,1 +0.467187937,0,1 +0.467649938,1,1 +0.468239063,0,1 +0.468701313,1,1 +0.469292625,0,1 +0.469755188,1,1 +0.470346625,0,1 +0.470807875,1,1 +0.471399313,0,1 +0.471863750,1,1 +0.472455937,0,1 +0.472778437,0,0 +0.472920813,1,0 +0.473511937,0,0 +0.473976687,1,0 +0.474569500,0,0 +0.475033563,1,0 +0.475627062,0,0 +0.476091938,1,0 +0.476684375,0,0 +0.477149812,1,0 +0.477743125,0,0 +0.477789500,0,1 +0.478206187,1,1 +0.478797688,0,1 +0.479514312,1,1 +0.481910250,0,1 +0.482474000,1,1 +0.483058250,0,1 +0.483516125,1,1 +0.484112062,0,1 +0.484581125,1,1 +0.485176750,0,1 +0.485644813,1,1 +0.486242063,0,1 +0.486712500,1,1 +0.487310375,0,1 +0.487780812,1,1 +0.488379000,0,1 +0.488848000,1,1 +0.489445625,0,1 +0.489915250,1,1 +0.490512125,0,1 +0.490981813,1,1 +0.491578500,0,1 +0.492047687,1,1 +0.492644875,0,1 +0.493109937,1,1 +0.493704188,0,1 +0.494171625,1,1 +0.494764937,0,1 +0.495230000,1,1 +0.495822250,0,1 +0.496288187,1,1 +0.496880750,0,1 +0.497347250,1,1 +0.497942687,0,1 +0.498407437,1,1 +0.498435125,1,0 +0.499001812,0,0 +0.499465437,1,0 +0.500058625,0,0 +0.500523250,1,0 +0.501115938,0,0 +0.501581375,1,0 +0.502175750,0,0 +0.502639813,1,0 +0.503234500,0,0 +0.503338437,0,1 +0.503700438,1,1 +0.504294375,0,1 +0.504759625,1,1 +0.505353875,0,1 +0.505817500,1,1 +0.506411063,0,1 +0.506874562,1,1 +0.507464313,0,1 +0.507932250,1,1 +0.508523813,0,1 +0.508984750,1,1 +0.509576250,0,1 +0.510040438,1,1 +0.510632125,0,1 +0.511095750,1,1 +0.511685375,0,1 +0.512149750,1,1 +0.512742125,0,1 +0.513205750,1,1 +0.513798437,0,1 +0.514263187,1,1 +0.514855125,0,1 +0.515321563,1,1 +0.515915625,0,1 +0.516378875,1,1 +0.516972312,0,1 +0.517685813,1,1 +0.520084875,0,1 +0.520650500,1,1 +0.521235625,0,1 +0.521693750,1,1 +0.522290687,0,1 +0.522760125,1,1 +0.523356562,0,1 +0.523705562,0,0 +0.523824938,1,0 +0.524422125,0,0 +0.524893125,1,0 +0.525490313,0,0 +0.525960375,1,0 +0.526558312,0,0 +0.527027125,1,0 +0.527624375,0,0 +0.528093250,1,0 +0.528690750,0,0 +0.528775625,0,1 +0.529161000,1,1 +0.529758437,0,1 +0.530229250,1,1 +0.530828437,0,1 +0.531295875,1,1 +0.531894500,0,1 +0.532365813,1,1 +0.532966125,0,1 +0.533434813,1,1 +0.534033625,0,1 +0.534505125,1,1 +0.535104438,0,1 +0.535576000,1,1 +0.536177187,0,1 +0.536646687,1,1 +0.537246937,0,1 +0.537716063,1,1 +0.538316125,0,1 +0.538785938,1,1 +0.539386625,0,1 +0.539857750,1,1 +0.540459375,0,1 +0.540930313,1,1 +0.541533125,0,1 +0.542005750,1,1 +0.542608500,0,1 +0.543081062,1,1 +0.543685000,0,1 +0.544156562,1,1 +0.544760812,0,1 +0.545233688,1,1 +0.545835687,0,1 +0.546313000,1,1 +0.546918937,0,1 +0.547390812,1,1 +0.547997063,0,1 +0.548472813,1,1 +0.549078125,0,1 +0.549454750,0,0 +0.549554750,1,0 +0.550159813,0,0 +0.550635875,1,0 +0.551243875,0,0 +0.551718687,1,0 +0.552326813,0,0 +0.552802750,1,0 +0.553409313,0,0 +0.553887062,1,0 +0.554494438,0,0 +0.554526375,0,1 +0.554968875,1,1 +0.555575188,0,1 +0.556298437,1,1 +0.558759312,0,1 +0.559337125,1,1 +0.559936563,0,1 +0.560404438,1,1 +0.561014375,0,1 +0.561494750,1,1 +0.562103125,0,1 +0.562581500,1,1 +0.563192313,0,1 +0.563673938,1,1 +0.564285375,0,1 +0.564766250,1,1 +0.565378562,0,1 +0.565858688,1,1 +0.566470563,0,1 +0.566951750,1,1 +0.567564625,0,1 +0.568046375,1,1 +0.568658563,0,1 +0.569141125,1,1 +0.569755438,0,1 +0.570235250,1,1 +0.570848937,0,1 +0.571332188,1,1 +0.571948688,0,1 +0.572430125,1,1 +0.573042125,0,1 +0.573526000,1,1 +0.574141375,0,1 +0.574626063,1,1 +0.575244437,0,1 +0.575727500,1,1 +0.575799000,1,0 +0.576344562,0,0 +0.576826875,1,0 +0.577444000,0,0 +0.577927312,1,0 +0.578544063,0,0 +0.579028750,1,0 +0.579646438,0,0 +0.580129937,1,0 +0.580748687,0,0 +0.580843187,0,1 +0.581233500,1,1 +0.581852125,0,1 +0.582337813,1,1 +0.582956625,0,1 +0.583442812,1,1 +0.584064438,0,1 +0.584550438,1,1 +0.585173437,0,1 +0.585665187,1,1 +0.586280875,0,1 +0.586767875,1,1 +0.587390813,0,1 +0.587879250,1,1 +0.588501125,0,1 +0.588990688,1,1 +0.589611875,0,1 +0.590101312,1,1 +0.590724937,0,1 +0.591213500,1,1 +0.591838688,0,1 +0.592328562,1,1 +0.592951750,0,1 +0.593442250,1,1 +0.594066187,0,1 +0.594552250,1,1 +0.595175187,0,1 +0.595913187,1,1 +0.598436375,0,1 +0.599025625,1,1 +0.599633562,0,1 +0.600112250,1,1 +0.600733938,0,1 +0.601222750,1,1 +0.601843812,0,1 +0.602250938,0,0 +0.602331687,1,0 +0.602953813,0,0 +0.603444125,1,0 +0.604066125,0,0 +0.604555000,1,0 +0.605178250,0,0 +0.605666500,1,0 +0.606287875,0,0 +0.606777000,1,0 +0.607398125,0,0 +0.607494312,0,1 +0.607886438,1,1 +0.608506625,0,1 +0.608994438,1,1 +0.609615313,0,1 +0.610099687,1,1 +0.610717500,0,1 +0.611203750,1,1 +0.611823688,0,1 +0.612307750,1,1 +0.612921500,0,1 +0.613407438,1,1 +0.614024438,0,1 +0.614509688,1,1 +0.615127750,0,1 +0.615611750,1,1 +0.616230188,0,1 +0.616712813,1,1 +0.617330562,0,1 +0.617814813,1,1 +0.618432000,0,1 +0.618917000,1,1 +0.619536562,0,1 +0.620020187,1,1 +0.620639000,0,1 +0.621124312,1,1 +0.621741688,0,1 +0.622226250,1,1 +0.622842937,0,1 +0.623327188,1,1 +0.623945875,0,1 +0.624427875,1,1 +0.625045188,0,1 +0.625532563,1,1 +0.626140937,0,1 +0.626623625,1,1 +0.627239437,0,1 +0.627722875,1,1 +0.628337750,0,1 +0.628741062,0,0 +0.628820250,1,0 +0.629434313,0,0 +0.629917562,1,0 +0.630534250,0,0 +0.631016500,1,0 +0.631632375,0,0 +0.632114750,1,0 +0.632728687,0,0 +0.633212125,1,0 +0.633827438,0,0 +0.633876125,0,1 +0.634306625,1,1 +0.634918125,0,1 +0.635649625,1,1 +0.638115250,0,1 +0.638690688,1,1 +0.639286875,0,1 +0.639755875,1,1 +0.640364125,0,1 +0.640842937,1,1 +0.641450312,0,1 +0.641927875,1,1 +0.642537500,0,1 +0.643017188,1,1 +0.643626062,0,1 +0.644106625,1,1 +0.644715938,0,1 +0.645194250,1,1 +0.645804313,0,1 +0.646283250,1,1 +0.646893250,0,1 +0.647372437,1,1 +0.647981250,0,1 +0.648460000,1,1 +0.649069250,0,1 +0.649545062,1,1 +0.650152437,0,1 +0.650629500,1,1 +0.651236062,0,1 +0.651710500,1,1 +0.652316000,0,1 +0.652792000,1,1 +0.653397563,0,1 +0.653874687,1,1 +0.654483812,0,1 +0.654958562,1,1 +0.655002375,1,0 +0.655565562,0,0 +0.656039938,1,0 +0.656646687,0,0 +0.657121750,1,0 +0.657728438,0,0 +0.658204125,1,0 +0.658811438,0,0 +0.659287250,1,0 +0.659894937,0,0 +0.659998500,0,1 +0.660371375,1,1 +0.660978687,0,1 +0.661454250,1,1 +0.662062438,0,1 +0.662537313,1,1 +0.663145688,0,1 +0.663620563,1,1 +0.664225687,0,1 +0.664704063,1,1 +0.665310625,0,1 +0.665784313,1,1 +0.666390750,0,1 +0.666867563,1,1 +0.667475250,0,1 +0.667951000,1,1 +0.668555812,0,1 +0.669032437,1,1 +0.669638813,0,1 +0.670114063,1,1 +0.670721375,0,1 +0.671196875,1,1 +0.671802875,0,1 +0.672279312,1,1 +0.672884687,0,1 +0.673358313,1,1 +0.673961625,0,1 +0.674684125,1,1 +0.677126563,0,1 +0.677699687,1,1 +0.678292187,0,1 +0.678756625,1,1 +0.679359375,0,1 +0.679833937,1,1 +0.680437562,0,1 +0.680802250,0,0 +0.680910625,1,0 +0.681514188,0,0 +0.681989250,1,0 +0.682592437,0,0 +0.683068250,1,0 +0.683671500,0,0 +0.684145250,1,0 +0.684749063,0,0 +0.685223125,1,0 +0.685826750,0,0 +0.685919813,0,1 +0.686300812,1,1 +0.686903313,0,1 +0.687376937,1,1 +0.687980875,0,1 +0.688452063,1,1 +0.689054000,0,1 +0.689527375,1,1 +0.690129625,0,1 +0.690600437,1,1 +0.691201250,0,1 +0.691673688,1,1 +0.692274313,0,1 +0.692747438,1,1 +0.693348813,0,1 +0.693819250,1,1 +0.694420500,0,1 +0.694889625,1,1 +0.695490687,0,1 +0.695960625,1,1 +0.696561437,0,1 +0.697032312,1,1 +0.697633125,0,1 +0.698103313,1,1 +0.698704500,0,1 +0.699175625,1,1 +0.699776875,0,1 +0.700247000,1,1 +0.700848687,0,1 +0.701318688,1,1 +0.701920312,0,1 +0.702390188,1,1 +0.702988875,0,1 +0.703462062,1,1 +0.704062875,0,1 +0.704531062,1,1 +0.705131500,0,1 +0.705602313,1,1 +0.706202312,0,1 +0.706551938,0,0 +0.706673375,1,0 +0.707271625,0,0 +0.707742625,1,0 +0.708342438,0,0 +0.708812312,1,0 +0.709413000,0,0 +0.709882563,1,0 +0.710481125,0,0 +0.710952375,1,0 +0.711550875,0,0 +0.711601938,0,1 +0.712018250,1,1 +0.712614312,0,1 +0.713331375,1,1 +0.715736813,0,1 +0.716303187,1,1 +0.716887375,0,1 +0.717345750,1,1 +0.717940250,0,1 +0.718408687,1,1 +0.719003125,0,1 +0.719470000,1,1 +0.720066125,0,1 +0.720535000,1,1 +0.721130125,0,1 +0.721599250,1,1 +0.722194438,0,1 +0.722662250,1,1 +0.723257938,0,1 +0.723725562,1,1 +0.724320813,0,1 +0.724789375,1,1 +0.725384187,0,1 +0.725851812,1,1 +0.726448625,0,1 +0.726913188,1,1 +0.727507125,0,1 +0.727974375,1,1 +0.728567562,0,1 +0.729033313,1,1 +0.729626625,0,1 +0.730092625,1,1 +0.730686687,0,1 +0.731154063,1,1 +0.731749500,0,1 +0.732214500,1,1 +0.732245000,1,0 +0.732808687,0,0 +0.733273375,1,0 +0.733866687,0,0 +0.734332063,1,0 +0.734925188,0,0 +0.735390437,1,0 +0.735984813,0,0 +0.736449750,1,0 +0.737044313,0,0 +0.737146750,0,1 +0.737510125,1,1 +0.738104312,0,1 +0.738569062,1,1 +0.739163438,0,1 +0.739627562,1,1 +0.740221750,0,1 +0.740686437,1,1 +0.741277063,0,1 +0.741745312,1,1 +0.742338313,0,1 +0.742800812,1,1 +0.743394125,0,1 +0.743858750,1,1 +0.744451187,0,1 +0.744915187,1,1 +0.745505500,0,1 +0.745970937,1,1 +0.746563250,0,1 +0.747027375,1,1 +0.747620500,0,1 +0.748084625,1,1 +0.748676688,0,1 +0.749141500,1,1 +0.749734000,0,1 +0.750194937,1,1 +0.750784187,0,1 +0.751494250,1,1 +0.753872375,0,1 +0.754433313,1,1 +0.755011187,0,1 +0.755464750,1,1 +0.756054250,0,1 +0.756516875,1,1 +0.757105563,0,1 +0.757429875,0,0 +0.757566938,1,0 +0.758156375,0,0 +0.758619375,1,0 +0.759208250,0,0 +0.759672563,1,0 +0.760261562,0,0 +0.760724125,1,0 +0.761313250,0,0 +0.761775813,1,0 +0.762365250,0,0 +0.762452687,0,1 +0.762828125,1,1 +0.763416312,0,1 +0.763878313,1,1 +0.764467563,0,1 +0.764927812,1,1 +0.765514625,0,1 +0.765976813,1,1 +0.766563438,0,1 +0.767023375,1,1 +0.767610125,0,1 +0.768070687,1,1 +0.768657438,0,1 +0.769118750,1,1 +0.769706500,0,1 +0.770165813,1,1 +0.770752000,0,1 +0.771209812,1,1 +0.771795688,0,1 +0.772254688,1,1 +0.772841000,0,1 +0.773300500,1,1 +0.773886562,0,1 +0.774346437,1,1 +0.774933375,0,1 +0.775393312,1,1 +0.775980500,0,1 +0.776439750,1,1 +0.777027687,0,1 +0.777485688,1,1 +0.778073750,0,1 +0.778531938,1,1 +0.779116062,0,1 +0.779580125,1,1 +0.780166687,0,1 +0.780623938,1,1 +0.781209500,0,1 +0.781670000,1,1 +0.782256250,0,1 +0.782563375,0,0 +0.782715875,1,0 +0.783301062,0,0 +0.783762188,1,0 +0.784348625,0,0 +0.784807313,1,0 +0.785394125,0,0 +0.785852875,1,0 +0.786438500,0,0 +0.786897938,1,0 +0.787483687,0,0 +0.787534188,0,1 +0.787940312,1,1 +0.788522063,0,1 +0.789228250,1,1 +0.791573938,0,1 +0.792129125,1,1 +0.792699625,0,1 +0.793147250,1,1 +0.793729125,0,1 +0.794186500,1,1 +0.794767312,0,1 +0.795223563,1,1 +0.795805063,0,1 +0.796263750,1,1 +0.796845375,0,1 +0.797303937,1,1 +0.797886375,0,1 +0.798343375,1,1 +0.798925750,0,1 +0.799383125,1,1 +0.799965625,0,1 +0.800423375,1,1 +0.801005375,0,1 +0.801462563,1,1 +0.802045875,0,1 +0.802500375,1,1 +0.803080875,0,1 +0.803538000,1,1 +0.804119000,0,1 +0.804574125,1,1 +0.805154812,0,1 +0.805611375,1,1 +0.806191312,0,1 +0.806648188,1,1 +0.807230500,0,1 +0.807683313,0,0 +0.807685500,1,0 +0.808266687,0,0 +0.808721250,1,0 +0.809302375,0,0 +0.809756625,1,0 +0.810337813,0,0 +0.810792562,1,0 +0.811374250,0,0 +0.811829250,1,0 +0.812410562,0,0 +0.812506750,0,1 +0.812866500,1,1 +0.813448000,0,1 +0.813903250,1,1 +0.814485500,0,1 +0.814939813,1,1 +0.815521375,0,1 +0.815975688,1,1 +0.816554875,0,1 +0.817012688,1,1 +0.817593750,0,1 +0.818046188,1,1 +0.818626813,0,1 +0.819081938,1,1 +0.819662250,0,1 +0.820116313,1,1 +0.820694750,0,1 +0.821149500,1,1 +0.821729438,0,1 +0.822183625,1,1 +0.822764625,0,1 +0.823218937,1,1 +0.823797875,0,1 +0.824253438,1,1 +0.824832750,0,1 +0.825284812,1,1 +0.825861875,0,1 +0.826563875,1,1 +0.828888125,0,1 +0.829438250,1,1 +0.830004312,0,1 +0.830448750,1,1 +0.831026125,0,1 +0.831479750,1,1 +0.832055813,0,1 +0.832354313,0,0 +0.832508187,1,0 +0.833085938,0,0 +0.833540687,1,0 +0.834117563,0,0 +0.834572312,1,0 +0.835149438,0,0 +0.835603813,1,0 +0.836181562,0,0 +0.836635625,1,0 +0.837214375,0,0 +0.837301750,0,1 +0.837669000,1,1 +0.838247938,0,1 +0.838703375,1,1 +0.839284062,0,1 +0.839738625,1,1 +0.840318187,0,1 +0.840775250,1,1 +0.841357250,0,1 +0.841809937,1,1 +0.842391062,0,1 +0.842847812,1,1 +0.843429312,0,1 +0.843887250,1,1 +0.844469750,0,1 +0.844926875,1,1 +0.845508875,0,1 +0.845963750,1,1 +0.846547250,0,1 +0.847002937,1,1 +0.847586437,0,1 +0.848043563,1,1 +0.848628375,0,1 +0.849085187,1,1 +0.849670062,0,1 +0.850128750,1,1 +0.850714312,0,1 +0.851173500,1,1 +0.851759188,0,1 +0.851968000,0,1 diff --git a/unit_tests/tests/trigger/test_all_triggers.cpp b/unit_tests/tests/trigger/test_all_triggers.cpp index b59d9d6694..0e35062bde 100644 --- a/unit_tests/tests/trigger/test_all_triggers.cpp +++ b/unit_tests/tests/trigger/test_all_triggers.cpp @@ -60,8 +60,7 @@ TEST_P(AllTriggersFixture, TestTrigger) { persistent_config_s pc; efi::clear(pc); Engine e; - Engine* engine = &e; - EngineTestHelperBase base(engine, &pc.engineConfiguration, &pc); + EngineTestHelperBase base(&e, &pc.engineConfiguration, &pc); #if EFI_UNIT_TEST extern TriggerDecoderBase initState; @@ -71,7 +70,7 @@ extern TriggerDecoderBase initState; #endif // EFI_UNIT_TEST engineConfiguration->trigger.type = tt; - setCamOperationMode(); + setCamOperationMode(); TriggerWaveform *shape = &engine->triggerCentral.triggerShape; TriggerFormDetails *triggerFormDetails = &engine->triggerCentral.triggerFormDetails; diff --git a/unit_tests/tests/trigger/test_cam_vvt_input.cpp b/unit_tests/tests/trigger/test_cam_vvt_input.cpp index dee9bbabdd..e263b637a8 100644 --- a/unit_tests/tests/trigger/test_cam_vvt_input.cpp +++ b/unit_tests/tests/trigger/test_cam_vvt_input.cpp @@ -182,7 +182,7 @@ TEST(trigger, testNB2CamInput) { eth.moveTimeForwardUs(MS2US( 30)); hwHandleVvtCamSignal(true, getTimeNowNt(), 0); - EXPECT_NEAR(290.5f, engine->triggerCentral.getVVTPosition(0, 0), EPS2D); + EXPECT_NEAR(297.5f, engine->triggerCentral.getVVTPosition(0, 0), EPS2D); // actually position based on VVT! ASSERT_EQ(totalRevolutionCountBeforeVvtSync + 3, engine->triggerCentral.triggerState.getCrankSynchronizationCounter()); diff --git a/unit_tests/tests/trigger/test_nissan_vq_vvt.cpp b/unit_tests/tests/trigger/test_nissan_vq_vvt.cpp index 20d391bd65..bda6f80577 100644 --- a/unit_tests/tests/trigger/test_nissan_vq_vvt.cpp +++ b/unit_tests/tests/trigger/test_nissan_vq_vvt.cpp @@ -21,7 +21,6 @@ class TriggerCallback { static void func(TriggerCallback *callback) { int formIndex = callback->toothIndex % callback->form->getSize(); - Engine *engine = callback->engine; bool value = callback->form->wave.getChannelState(0, formIndex); diff --git a/unit_tests/tests/trigger/test_real_cranking_miata_na6.cpp b/unit_tests/tests/trigger/test_real_cranking_miata_na6.cpp index 28661cfecc..c9bb55f324 100644 --- a/unit_tests/tests/trigger/test_real_cranking_miata_na6.cpp +++ b/unit_tests/tests/trigger/test_real_cranking_miata_na6.cpp @@ -27,8 +27,6 @@ static void fireTriggerEvent(EngineTestHelper*eth, double timestampS, TriggerWhe event = SHAFT_SECONDARY_FALLING; } - Engine *engine = ð->engine; - timeNowUs = 1'000'000 * timestampS; printf("MIATANA: posting time=%d event=%d\n", timeNowUs, event); hwHandleShaftSignal((int)channel, !isFall, getTimeNowNt()); diff --git a/unit_tests/tests/trigger/test_real_nb2_cranking.cpp b/unit_tests/tests/trigger/test_real_nb2_cranking.cpp index 3e0db3526e..13c63413c6 100644 --- a/unit_tests/tests/trigger/test_real_nb2_cranking.cpp +++ b/unit_tests/tests/trigger/test_real_nb2_cranking.cpp @@ -20,7 +20,7 @@ TEST(realCrankingNB2, normalCranking) { } // VVT position nearly zero! - EXPECT_NEAR(engine->triggerCentral.getVVTPosition(0, 0), 4.2627f, 1e-4); + EXPECT_NEAR(engine->triggerCentral.getVVTPosition(0, 0), 11.2627f, 1e-4); // Check the number of times VVT information was used to adjust crank phase // This should happen exactly once: once we sync, we shouldn't lose it. @@ -45,7 +45,7 @@ TEST(realCrankingNB2, crankingMissingInjector) { } // VVT position nearly zero! - EXPECT_NEAR(engine->triggerCentral.getVVTPosition(0, 0), -2.5231f, 1e-4); + EXPECT_NEAR(engine->triggerCentral.getVVTPosition(0, 0), 4.476928f, 1e-4); ASSERT_EQ(316, round(Sensor::getOrZero(SensorType::Rpm))); diff --git a/unit_tests/tests/trigger/test_real_toyota_3_tooth_cam.cpp b/unit_tests/tests/trigger/test_real_toyota_3_tooth_cam.cpp new file mode 100644 index 0000000000..8109377a43 --- /dev/null +++ b/unit_tests/tests/trigger/test_real_toyota_3_tooth_cam.cpp @@ -0,0 +1,42 @@ +#include "pch.h" +#include "logicdata_csv_reader.h" + +TEST(realToyota3ToothCam, running) { + CsvReader reader(1, /* vvtCount */ 1); + + reader.open("tests/trigger/resources/toyota_3_tooth_cam.csv"); + EngineTestHelper eth(engine_type_e::TEST_ENGINE); + engineConfiguration->isFasterEngineSpinUpEnabled = true; + engineConfiguration->alwaysInstantRpm = true; + + engineConfiguration->vvtMode[0] = VVT_TOYOTA_3_TOOTH; + engineConfiguration->vvtOffsets[0] = 152.583f; + + engineConfiguration->trigger.customTotalToothCount = 36; + engineConfiguration->trigger.customSkippedToothCount = 2; + eth.setTriggerType(trigger_type_e::TT_TOOTHED_WHEEL); + + bool hasSeenFirstVvt = false; + + while (reader.haveMore()) { + reader.processLine(ð); + float vvt1 = engine->triggerCentral.getVVTPosition(/*bankIndex*/0, /*camIndex*/0); + + if (vvt1 != 0) { + if (!hasSeenFirstVvt) { + EXPECT_NEAR(vvt1, 0, /*precision*/1); + hasSeenFirstVvt = true; + } + + // cam position should never be reported outside of correct range + EXPECT_TRUE(vvt1 > -3 && vvt1 < 3); + } + } + + EXPECT_NEAR(engine->triggerCentral.getVVTPosition(/*bankIndex*/0, /*camIndex*/0), 0, 1); + ASSERT_EQ(3078, round(Sensor::getOrZero(SensorType::Rpm))); + + // TODO: why warnings? + ASSERT_EQ(1, eth.recentWarnings()->getCount()); + ASSERT_EQ(ObdCode::CUSTOM_PRIMARY_TOO_MANY_TEETH, eth.recentWarnings()->get(0).Code); +} diff --git a/unit_tests/tests/trigger/test_trigger_decoder.cpp b/unit_tests/tests/trigger/test_trigger_decoder.cpp index 61d0b49d66..222f503a44 100644 --- a/unit_tests/tests/trigger/test_trigger_decoder.cpp +++ b/unit_tests/tests/trigger/test_trigger_decoder.cpp @@ -425,9 +425,6 @@ static void setTestBug299(EngineTestHelper *eth) { EXPECT_CALL(*eth->mockAirmass, getAirmass(_, _)) .WillRepeatedly(Return(AirmassResult{0.1008001f, 50.0f})); - Engine *engine = ð->engine; - - eth->assertRpm(0, "RPM=0"); eth->fireTriggerEventsWithDuration(20); @@ -532,8 +529,8 @@ static void setTestBug299(EngineTestHelper *eth) { } static void assertInjectors(const char *msg, int value0, int value1) { - EXPECT_EQ(value0, enginePins.injectors[0].currentLogicValue); - EXPECT_EQ(value1, enginePins.injectors[1].currentLogicValue); + EXPECT_EQ(value0, enginePins.injectors[0].m_currentLogicValue); + EXPECT_EQ(value1, enginePins.injectors[1].m_currentLogicValue); } static void setArray(float* p, size_t count, float value) { @@ -731,7 +728,7 @@ void doTestFuelSchedulerBug299smallAndMedium(int startUpDelayMs) { assertInjectionEventBatch("#03", &t->elements[0], 0, 3, 0, 315); - ASSERT_EQ( 1, enginePins.injectors[0].currentLogicValue) << "inj#0"; + ASSERT_EQ( 1, enginePins.injectors[0].m_currentLogicValue) << "inj#0"; ASSERT_EQ( 1, engine->executor.size()) << "Queue.size#04"; eth.assertInjectorDownEvent("08@0", 0, MS2US(10), 0); @@ -745,7 +742,7 @@ void doTestFuelSchedulerBug299smallAndMedium(int startUpDelayMs) { eth.executeActions(); eth.fireRise(20); - ASSERT_EQ( 7, engine->executor.size()) << "Queue.size#05"; + ASSERT_EQ(9, engine->executor.size()) << "Queue.size#05"; eth.executeActions(); @@ -764,7 +761,7 @@ void doTestFuelSchedulerBug299smallAndMedium(int startUpDelayMs) { assertInjectionEventBatch("#30", &t->elements[3], 1, 2, 0, 45); // todo: what's what? a mix of new something and old something? - ASSERT_EQ( 4, engine->executor.size()) << "qs#5"; + ASSERT_EQ(6, engine->executor.size()) << "qs#5"; // assertInjectorDownEvent("8@0", 0, MS2US(5.0), 1); // assertInjectorUpEvent("8@1", 1, MS2US(7.5), 1); // assertInjectorDownEvent("8@2", 2, MS2US(15.0), 0); @@ -777,9 +774,6 @@ void doTestFuelSchedulerBug299smallAndMedium(int startUpDelayMs) { //// assertInjectorDownEvent("8@9", 9, MS2US(55), 0); ASSERT_EQ( 0, unitTestWarningCodeState.recentWarnings.getCount()) << "warningCounter#testFuelSchedulerBug299smallAndMedium"; -/* - ASSERT_EQ(ObdCode::CUSTOM_OBD_SKIPPED_FUEL, unitTestWarningCodeState.recentWarnings.get(0).Code); -*/ } void setInjectionMode(int value) { @@ -927,7 +921,7 @@ TEST(big, testFuelSchedulerBug299smallAndLarge) { eth.executeActions(); // injector #1 is low before the test - ASSERT_FALSE(enginePins.injectors[0].currentLogicValue) << "injector@0"; + ASSERT_FALSE(enginePins.injectors[0].m_currentLogicValue) << "injector@0"; eth.firePrimaryTriggerRise(); @@ -951,11 +945,11 @@ TEST(big, testFuelSchedulerBug299smallAndLarge) { engine->executor.executeAll(eth.getTimeNowUs() + 1); // injector goes high... - ASSERT_FALSE(enginePins.injectors[0].currentLogicValue) << "injector@1"; + ASSERT_FALSE(enginePins.injectors[0].m_currentLogicValue) << "injector@1"; engine->executor.executeAll(eth.getTimeNowUs() + MS2US(17.5) + 1); // injector does not go low too soon, that's a feature :) - ASSERT_TRUE(enginePins.injectors[0].currentLogicValue) << "injector@2"; + ASSERT_TRUE(enginePins.injectors[0].m_currentLogicValue) << "injector@2"; eth.fireFall(20); @@ -971,7 +965,7 @@ TEST(big, testFuelSchedulerBug299smallAndLarge) { engine->executor.executeAll(eth.getTimeNowUs() + MS2US(10) + 1); // end of combined injection - ASSERT_FALSE(enginePins.injectors[0].currentLogicValue) << "injector@3"; + ASSERT_FALSE(enginePins.injectors[0].m_currentLogicValue) << "injector@3"; eth.moveTimeForwardUs(MS2US(20)); @@ -1015,9 +1009,6 @@ TEST(big, testFuelSchedulerBug299smallAndLarge) { eth.moveTimeForwardUs(MS2US(20)); eth.executeActions(); ASSERT_EQ( 0, unitTestWarningCodeState.recentWarnings.getCount()) << "warningCounter#testFuelSchedulerBug299smallAndLarge"; - /* - ASSERT_EQ(ObdCode::CUSTOM_OBD_SKIPPED_FUEL, unitTestWarningCodeState.recentWarnings.get(0).Code); -*/ } TEST(big, testSparkReverseOrderBug319) { diff --git a/unit_tests/tests/trigger/test_trigger_decoder_2.cpp b/unit_tests/tests/trigger/test_trigger_decoder_2.cpp index e7ea4c9ae5..9577293d7b 100644 --- a/unit_tests/tests/trigger/test_trigger_decoder_2.cpp +++ b/unit_tests/tests/trigger/test_trigger_decoder_2.cpp @@ -31,9 +31,9 @@ struct MockTriggerDecoder : public TriggerDecoderBase { MOCK_METHOD(void, onTooManyTeeth, (int actual, int expected), (override)); }; -static auto makeTriggerShape(operation_mode_e mode, const TriggerConfiguration& config) { +static auto makeTriggerShape(operation_mode_e mode, const TriggerConfiguration& cfg) { TriggerWaveform shape; - shape.initializeTriggerWaveform(mode, config); + shape.initializeTriggerWaveform(mode, cfg); return shape; } diff --git a/unit_tests/tests/trigger/test_trigger_input_adc.cpp b/unit_tests/tests/trigger/test_trigger_input_adc.cpp index e8d93c0f08..346f89958e 100644 --- a/unit_tests/tests/trigger/test_trigger_input_adc.cpp +++ b/unit_tests/tests/trigger/test_trigger_input_adc.cpp @@ -34,7 +34,7 @@ void onTriggerChanged(efitick_t stamp, bool isPrimary, bool isRising) { printf("*\r\n"); } -static void simulateTrigger(TriggerAdcDetector &trigAdcState, CsvReader &reader, float voltageDiv, float adcMaxVoltage) { +static void simulateTrigger(TriggerAdcDetector &state, CsvReader &reader, float voltageDiv, float adcMaxVoltage) { static const float Vil = 0.3f * adcMaxVoltage; static const float Vih = 0.7f * adcMaxVoltage; @@ -46,7 +46,7 @@ static void simulateTrigger(TriggerAdcDetector &trigAdcState, CsvReader &reader, // printf("--simulateTrigger %lld %f\r\n", stamp, (float)value); // convert into mcu-adc voltage value = minF(maxF(value / voltageDiv, 0), adcMaxVoltage); - if (trigAdcState.curAdcMode == TRIGGER_ADC_EXTI) { + if (state.curAdcMode == TRIGGER_ADC_EXTI) { int logicValue = 0; // imitate Schmitt trigger input if (value < Vil || value > Vih) { @@ -55,16 +55,16 @@ static void simulateTrigger(TriggerAdcDetector &trigAdcState, CsvReader &reader, if (prevLogicValue != -1) { // printf("--> DIGITAL %d %d\r\n", logicValue, prevLogicValue); - trigAdcState.digitalCallback(stampUs, true, logicValue > prevLogicValue ? true : false); + state.digitalCallback(stampUs, true, logicValue > prevLogicValue ? true : false); } prevLogicValue = logicValue; } - } else if (trigAdcState.curAdcMode == TRIGGER_ADC_ADC) { + } else if (state.curAdcMode == TRIGGER_ADC_ADC) { triggerAdcSample_t sampleValue = value * ADC_MAX_VALUE / adcMaxVoltage; // printf("--> ANALOG %d\r\n", sampleValue); - trigAdcState.analogCallback(stampUs, sampleValue); + state.analogCallback(stampUs, sampleValue); } } } diff --git a/unit_tests/triggers.txt b/unit_tests/triggers.txt index b085c45b03..feb24cfc4c 100644 --- a/unit_tests/triggers.txt +++ b/unit_tests/triggers.txt @@ -675,7 +675,7 @@ event 0 0 1 0.00 1.000000 event 1 0 0 180.00 nan event 2 1 1 360.00 nan event 3 1 0 540.00 nan -TRIGGERTYPE 17 6 TT_VVT_JZ 0.00 +TRIGGERTYPE 17 6 TT_VVT_TOYOTA_3_TOOTH 0.00 knownOperationMode=false crankBased=false hasSecondChannel=false diff --git a/unit_tests/unit_test_rules.mk b/unit_tests/unit_test_rules.mk index 22b56b7f9d..6f705f9a48 100644 --- a/unit_tests/unit_test_rules.mk +++ b/unit_tests/unit_test_rules.mk @@ -56,13 +56,6 @@ USE_OPT += -DEFI_UNIT_TEST=1 -DEFI_PROD_CODE=0 -DEFI_SIMULATOR=0 # Pretend we are all different hardware so that all canned engine configs are included USE_OPT += -DHW_MICRO_RUSEFI=1 -DHW_PROTEUS=1 -DHW_FRANKENSO=1 -DHW_HELLEN=1 -ifeq ($(CCACHE_DIR),) - $(info No CCACHE_DIR) -else - $(info CCACHE_DIR is ${CCACHE_DIR}) - CCPREFIX=ccache -endif - # C specific options here (added to USE_OPT). ifeq ($(USE_COPT),) USE_COPT = -std=gnu99 -fgnu89-inline @@ -73,6 +66,8 @@ ifeq ($(USE_CPPOPT),) USE_CPPOPT = -std=gnu++2a -fno-rtti -fno-use-cxa-atexit endif +USE_CPPOPT += $(RUSEFI_CPPOPT) + # Enable address sanitizer for C++ files, but not on Windows since x86_64-w64-mingw32-g++ doesn't support it. # only c++ because lua does some things asan doesn't like, but don't actually cause overruns. ifeq ($(SANITIZE),yes) @@ -124,8 +119,8 @@ else TRGT = endif -CC = $(CCPREFIX) $(TRGT)gcc -CPPC = $(CCPREFIX) $(TRGT)g++ +CC = $(TRGT)gcc +CPPC = $(TRGT)g++ # Enable loading with g++ only if you need C++ runtime support. # NOTE: You can use C++ even without C++ support if you are careful. C++ # runtime support makes code size explode.