diff --git a/generated/controllers/generated/engine_configuration_generated_structures_XXX.h b/generated/controllers/generated/engine_configuration_generated_structures_XXX.h index 1d81f23..3aaa2b9 100644 --- a/generated/controllers/generated/engine_configuration_generated_structures_XXX.h +++ b/generated/controllers/generated/engine_configuration_generated_structures_XXX.h @@ -1,4 +1,4 @@ -// this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt Sat Feb 24 17:17:39 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt Tue Feb 27 17:20:25 UTC 2024 // by class com.rusefi.output.CHeaderConsumer // begin #pragma once @@ -2854,10 +2854,10 @@ struct engine_configuration_s { bool useVssAsSecondWheelSpeed : 1 {}; /** offset 1576 bit 13 */ - bool unusedBit_503_13 : 1 {}; + bool is_enabled_spi_5 : 1 {}; /** offset 1576 bit 14 */ - bool unusedBit_503_14 : 1 {}; + bool is_enabled_spi_6 : 1 {}; /** offset 1576 bit 15 */ bool unusedBit_503_15 : 1 {}; @@ -2869,46 +2869,46 @@ struct engine_configuration_s { bool unusedBit_503_17 : 1 {}; /** offset 1576 bit 18 */ - bool unusedBit_503_18 : 1 {}; + bool unusedBit_508_18 : 1 {}; /** offset 1576 bit 19 */ - bool unusedBit_503_19 : 1 {}; + bool unusedBit_508_19 : 1 {}; /** offset 1576 bit 20 */ - bool unusedBit_503_20 : 1 {}; + bool unusedBit_508_20 : 1 {}; /** offset 1576 bit 21 */ - bool unusedBit_503_21 : 1 {}; + bool unusedBit_508_21 : 1 {}; /** offset 1576 bit 22 */ - bool unusedBit_503_22 : 1 {}; + bool unusedBit_508_22 : 1 {}; /** offset 1576 bit 23 */ - bool unusedBit_503_23 : 1 {}; + bool unusedBit_508_23 : 1 {}; /** offset 1576 bit 24 */ - bool unusedBit_503_24 : 1 {}; + bool unusedBit_508_24 : 1 {}; /** offset 1576 bit 25 */ - bool unusedBit_503_25 : 1 {}; + bool unusedBit_508_25 : 1 {}; /** offset 1576 bit 26 */ - bool unusedBit_503_26 : 1 {}; + bool unusedBit_508_26 : 1 {}; /** offset 1576 bit 27 */ - bool unusedBit_503_27 : 1 {}; + bool unusedBit_508_27 : 1 {}; /** offset 1576 bit 28 */ - bool unusedBit_503_28 : 1 {}; + bool unusedBit_508_28 : 1 {}; /** offset 1576 bit 29 */ - bool unusedBit_503_29 : 1 {}; + bool unusedBit_508_29 : 1 {}; /** offset 1576 bit 30 */ - bool unusedBit_503_30 : 1 {}; + bool unusedBit_508_30 : 1 {}; /** offset 1576 bit 31 */ - bool unusedBit_503_31 : 1 {}; + bool unusedBit_508_31 : 1 {}; /** * 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. * units: cycles @@ -4572,7 +4572,7 @@ struct engine_configuration_s { /** * offset 4383 */ - uint8_t unusedExplicitFilling2; + pin_mode_e spi6MisoMode; /** * units: ratio * offset 4384 @@ -4635,10 +4635,78 @@ struct engine_configuration_s { */ float brakeMeanEffectivePressureDifferential; /** - * units: units * offset 4560 */ - uint8_t unusedOftenChangesDuringFirmwareUpdate[146]; + Gpio spi4mosiPin; + /** + * offset 4562 + */ + Gpio spi4misoPin; + /** + * offset 4564 + */ + Gpio spi4sckPin; + /** + * offset 4566 + */ + Gpio spi5mosiPin; + /** + * offset 4568 + */ + Gpio spi5misoPin; + /** + * offset 4570 + */ + Gpio spi5sckPin; + /** + * offset 4572 + */ + Gpio spi6mosiPin; + /** + * offset 4574 + */ + Gpio spi6misoPin; + /** + * offset 4576 + */ + Gpio spi6sckPin; + /** + * offset 4578 + */ + pin_mode_e spi4SckMode; + /** + * offset 4579 + */ + pin_mode_e spi4MosiMode; + /** + * offset 4580 + */ + pin_mode_e spi4MisoMode; + /** + * offset 4581 + */ + pin_mode_e spi5SckMode; + /** + * offset 4582 + */ + pin_mode_e spi5MosiMode; + /** + * offset 4583 + */ + pin_mode_e spi5MisoMode; + /** + * offset 4584 + */ + pin_mode_e spi6SckMode; + /** + * offset 4585 + */ + pin_mode_e spi6MosiMode; + /** + * units: units + * offset 4586 + */ + uint8_t unusedOftenChangesDuringFirmwareUpdate[120]; /** * need 4 byte alignment * units: units @@ -5557,4 +5625,4 @@ struct persistent_config_s { static_assert(sizeof(persistent_config_s) == 22236); // end -// this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt Sat Feb 24 17:17:39 UTC 2024 +// this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt Tue Feb 27 17:20:25 UTC 2024 diff --git a/generated/controllers/generated/rusefi_generated_XXX.h b/generated/controllers/generated/rusefi_generated_XXX.h index 15798d5..bca2193 100644 --- a/generated/controllers/generated/rusefi_generated_XXX.h +++ b/generated/controllers/generated/rusefi_generated_XXX.h @@ -1158,15 +1158,17 @@ #define show_microRusEFI_presets false #define show_Proteus_presets false #define show_test_presets false -#define SIGNATURE_HASH 2088864438 +#define SIGNATURE_HASH 3832554693 #define SIMULATOR_TUNE_BIN_FILE_NAME "generated/simulator_tune_image.bin" #define SIMULATOR_TUNE_BIN_FILE_NAME_PREFIX "generated/simulator_tune_image" #define SIMULATOR_TUNE_BIN_FILE_NAME_SUFFIX ".bin" -#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_auto_enum 0="SPI_NONE",1="SPI_DEVICE_1",2="SPI_DEVICE_2",3="SPI_DEVICE_3",4="SPI_DEVICE_4",5="SPI_DEVICE_5",6="SPI_DEVICE_6" #define spi_device_e_SPI_DEVICE_1 1 #define spi_device_e_SPI_DEVICE_2 2 #define spi_device_e_SPI_DEVICE_3 3 #define spi_device_e_SPI_DEVICE_4 4 +#define spi_device_e_SPI_DEVICE_5 5 +#define spi_device_e_SPI_DEVICE_6 6 #define spi_device_e_SPI_NONE 0 #define spi_speed_e__150KHz 3 #define spi_speed_e__1_25MHz 2 @@ -1483,7 +1485,7 @@ #define ts_show_vr_threshold_all false #define ts_show_vr_threshold_pins true #define ts_show_vvt_output true -#define TS_SIGNATURE "rusEFI default.2024.02.26.XXX.2088864438" +#define TS_SIGNATURE "rusEFI default.2024.02.27.XXX.3832554693" #define TS_SIMULATE_CAN '>' #define TS_SIMULATE_CAN_char > #define TS_SINGLE_WRITE_COMMAND 'W' diff --git a/generated/controllers/generated/signature_XXX.h b/generated/controllers/generated/signature_XXX.h index 6cbe7ee..b8d99be 100644 --- a/generated/controllers/generated/signature_XXX.h +++ b/generated/controllers/generated/signature_XXX.h @@ -2,5 +2,5 @@ // was generated automatically by rusEFI tool config_definition-all.jar based on gen_config.sh by SignatureConsumer // -#define SIGNATURE_HASH 2088864438 -#define TS_SIGNATURE "rusEFI default.2024.02.26.XXX.2088864438" +#define SIGNATURE_HASH 3832554693 +#define TS_SIGNATURE "rusEFI default.2024.02.27.XXX.3832554693" diff --git a/generated/tunerstudio/generated/rusefi_XXX.ini b/generated/tunerstudio/generated/rusefi_XXX.ini index e37f176..116571c 100644 --- a/generated/tunerstudio/generated/rusefi_XXX.ini +++ b/generated/tunerstudio/generated/rusefi_XXX.ini @@ -37,12 +37,12 @@ enable2ndByteCanID = false [MegaTune] ; https://rusefi.com/forum/viewtopic.php?p=36201#p36201 - signature = "rusEFI default.2024.02.26.XXX.2088864438" + signature = "rusEFI default.2024.02.27.XXX.3832554693" [TunerStudio] queryCommand = "S" versionInfo = "V" ; firmware version for title bar. - signature= "rusEFI default.2024.02.26.XXX.2088864438" ; signature is expected to be 7 or more characters. + signature= "rusEFI default.2024.02.27.XXX.3832554693" ; 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 @@ -98,7 +98,7 @@ enable2ndByteCanID = false #define adc_channel_e_list="Disabled", "PA0", "PA1", "PA2", "PA3", "PA4", "PA5", "PA6", "PA7", "PB0", "PB1", "PC0", "PC1", "PC2", "PC3", "PC4", "PC5" ; CONFIG_DEFINITION_START -; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt Mon Feb 26 17:16:57 UTC 2024 +; this section was generated automatically by rusEFI tool config_definition-all.jar based on (unknown script) integration/rusefi_config.txt Tue Feb 27 17:20:25 UTC 2024 pageSize = 22236 page = 1 @@ -743,6 +743,8 @@ enableExtendedCanBroadcast = bits, U32, 1576, [5:5], "false", "true" luaCanRxWorkaround = bits, U32, 1576, [6:6], "false", "true" useAuxSpeedForSlipRatio = bits, U32, 1576, [11:11], "false", "true" useVssAsSecondWheelSpeed = bits, U32, 1576, [12:12], "false", "true" +is_enabled_spi_5 = bits, U32, 1576, [13:13], "false", "true" +is_enabled_spi_6 = bits, U32, 1576, [14:14], "false", "true" afterCrankingIACtaperDuration = scalar, S16, 1580, "cycles", 1, 0, 0, 5000, 0 iacByTpsTaper = scalar, S16, 1582, "percent", 1, 0, 0, 500, 0 auxSerialTxPin = bits, U16, 1584, [0:7], $gpio_list @@ -1314,7 +1316,7 @@ simulatorCamPosition2 = scalar, U08, 4379, "", 1, 0, 0, 100, 0 simulatorCamPosition3 = scalar, U08, 4380, "", 1, 0, 0, 100, 0 simulatorCamPosition4 = scalar, U08, 4381, "", 1, 0, 0, 100, 0 ignKeyAdcChannel = bits, U08, 4382, [0:5], $adc_channel_e_list -unusedExplicitFilling2 = scalar, U08, 4383, "", 1, 0, 0, 100, 0 +spi6MisoMode = bits, U08, 4383, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" triggerVVTGapOverrideFrom1 = scalar, F32, 4384, "ratio", 1, 0, 0, 20, 3 triggerVVTGapOverrideFrom2 = scalar, F32, 4388, "ratio", 1, 0, 0, 20, 3 triggerVVTGapOverrideFrom3 = scalar, F32, 4392, "ratio", 1, 0, 0, 20, 3 @@ -1343,7 +1345,24 @@ tractionControlTimingDrop = array, S08, 4480, [6x6], "Deg", 1, 0, -100, 100, 0 tractionControlIgnitionSkip = array, S08, 4516, [6x6], "%", 1, 0, 0, 100, 0 auxSpeed1Multiplier = scalar, F32, 4552, "", 1, 0, 0, 100, 0 brakeMeanEffectivePressureDifferential = scalar, F32, 4556, "", 1, 0, 0, 100, 0 -unusedOftenChangesDuringFirmwareUpdate = array, U08, 4560, [146], "units", 1, 0, 0, 1, 0 +spi4mosiPin = bits, U16, 4560, [0:7], $gpio_list +spi4misoPin = bits, U16, 4562, [0:7], $gpio_list +spi4sckPin = bits, U16, 4564, [0:7], $gpio_list +spi5mosiPin = bits, U16, 4566, [0:7], $gpio_list +spi5misoPin = bits, U16, 4568, [0:7], $gpio_list +spi5sckPin = bits, U16, 4570, [0:7], $gpio_list +spi6mosiPin = bits, U16, 4572, [0:7], $gpio_list +spi6misoPin = bits, U16, 4574, [0:7], $gpio_list +spi6sckPin = bits, U16, 4576, [0:7], $gpio_list +spi4SckMode = bits, U08, 4578, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +spi4MosiMode = bits, U08, 4579, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +spi4MisoMode = bits, U08, 4580, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +spi5SckMode = bits, U08, 4581, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +spi5MosiMode = bits, U08, 4582, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +spi5MisoMode = bits, U08, 4583, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +spi6SckMode = bits, U08, 4584, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +spi6MosiMode = bits, U08, 4585, [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", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" +unusedOftenChangesDuringFirmwareUpdate = array, U08, 4586, [120], "units", 1, 0, 0, 1, 0 etbBiasBins = array, F32, 4708, [8], "target TPS position", 1, 0, 0, 100, 0 etbBiasValues = array, F32, 4740, [8], "ETB duty cycle bias", 1, 0, -100, 100, 2 iacPidMultTable = array, U08, 4772, [8x8], "%", 0.05, 0, 0, 10, 2